Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1603 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Continuer à accéder à des fichiers après publication (sous VS) ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Continuer à accéder à des fichiers après publication (sous VS) ?

n°2406934
mikekine
Posté le 14-01-2022 à 15:02:06  profilanswer
 

:hello:  
 
P'tite question newbie :
 
Je suis occupé à développer une petite appli pour la gestion de blindtests (sur le topic idoine de HFR).
Dans cette appli, j'accède à des fichiers, dont un fichier texte que je modifie via l'appli. Donc, dans mon code, j'ai un chemin qui mène vers ce fichier : D:\Mes documents\Visual Studio 2017\Projects\BT_Jeu\BT_Jeu\
 
A présent, je souhaite publier le projet pour pouvoir le partager avec les autres joueurs (avec Visual Studio). Le problème, c'est qu'une fois sur les autres PCs, le chemin d'origine ne sera plus le même (forcément :o ).
Quelle est la bonne façon de traiter cela ? Que dois-je mettre dans mon code pour continuer à accéder à ce(s) fichier(s) après publication ? (d'autant que les fichiers en question ont après publication une extension ".deploy" ).
 
Merci pour votre aide !  ;)


---------------
Topic Blindtest
mood
Publicité
Posté le 14-01-2022 à 15:02:06  profilanswer
 

n°2406937
TotalRecal​l
Posté le 14-01-2022 à 15:28:20  profilanswer
 

Mais pourquoi foutre ça dans un dossier en dur qui en plus se rapporte à là où VS créer les projets par défaut ?
 
Soit tu mets ça à côté de l'EXE (et c'est packagé avec), soit tu utilises les dossiers de l'utilisateur :
var myDocuments = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2406939
mikekine
Posté le 14-01-2022 à 15:40:18  profilanswer
 

TotalRecall a écrit :

Mais pourquoi foutre ça dans un dossier en dur qui en plus se rapporte à là où VS créer les projets par défaut ?
 
1) Soit tu mets ça à côté de l'EXE (et c'est packagé avec),  
 
2) soit tu utilises les dossiers de l'utilisateur : var myDocuments = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);


Pour la propal 2, oui, je pourrais passer par ça (je l'ai déjà fait dans une autre appli), mais rien ne dit que l'utilisateur va stocker l'appli dans ce dossier précis !  
 
Pour la 1, euh... qu'entends-tu par "à côté" de l'exe ? Dans le dossier "bin\debug" ? [:gratgrat]


---------------
Topic Blindtest
n°2406947
TotalRecal​l
Posté le 14-01-2022 à 15:54:20  profilanswer
 

bin\Debug c'est dans ton IDE, pas chez l'utilisateur.
Mais oui, si le but n'est pas de faire du multi utilisateur sur une même machine, c'est pas plus bête de le mettre là qu'ailleurs, il ne sera pas supprimé par inadvertance.

 

J'ai cité SpecialFolder.MyDocuments mais tu peux aussi utiliser SpecialFolder.ApplicationData si tu ne veux pas que l'utilisateur le voit parmi ses fichiers perso.

 

J'ai toujours pas compris pourquoi l'endroit où se trouve l'EXE devrait avoir un rapport avec celui où se trouve le fichier ?


Message édité par TotalRecall le 14-01-2022 à 15:54:53

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2406951
mikekine
Posté le 14-01-2022 à 15:59:55  profilanswer
 

Ah mais je n'ai pas dit qu'il devait y avoir un rapport ;)
 
Non, ma question, c'est comment faire pour qu'une fois publiée, l'appli continue de trouver les fichiers nécessaires, quel que soit le dossier que l'utilisateur aura choisi.


---------------
Topic Blindtest
n°2406952
TotalRecal​l
Posté le 14-01-2022 à 16:03:33  profilanswer
 

Et il choisit ça comment le Mr :??:
Et pourquoi c'est à lui de choisir où TON appli doit stocker ses fichiers alors qu'il y a des conventions comme mes exemples :??:


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2406966
mikekine
Posté le 14-01-2022 à 17:28:35  profilanswer
 

Alors, petite explication :  
 
Le topic Blindtest a été créé vers mai-juin 2005. Un des Hfriens et participant à ce topic (Nicky78) a décidé de son côté de créer un programme (en Java) qui permettrait de faciliter la gestion des blindtests en live. Il a vraiment bien géré cela et ça a été une réussite.
Mais depuis la version 5.18 de la JRE (ça date...), un bug est apparu, un bug plutôt embêtant. Du coup, son programme devenait pénible à utiliser.
J'ai donc décidé de le recréer en C# (en corrigeant quelques bugs au passage).
 
Avec son programme, l'utilisateur obtenait une archive zip (contenant dossiers et fichiers); il pouvait mettre le dossier principal où il voulait sur son PC, ça fonctionnait toujours. C'est pourquoi je tente de faire pareil !  :D  
Malheureusement, Nicky78 a disparu de la circulation depuis et... je galère un peu pour comprendre comment il a fait. :o
 
Voilà   :p


Message édité par mikekine le 14-01-2022 à 17:42:11

---------------
Topic Blindtest
n°2406967
TotalRecal​l
Posté le 14-01-2022 à 17:41:47  profilanswer
 

Ben il "suffit" d'avoir dans le programme un truc qui stocke l'info d'où est le fichier, tu peux faire ça avec un truc maison (fichier Json ou xml ou ce que tu veux), soit en utilisant un truc natif (genre les fichiers Settings.settings, "Fichier de paramètre" dans les types de fichier à ajouter proposés par VS), etc.
Ca te permettra de manière générale d'enregistrer les préférences utilisateurs et de les recharger à sa prochaine utilisation, c'est parfois utile :o


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2406968
mikekine
Posté le 14-01-2022 à 17:48:19  profilanswer
 

TotalRecall a écrit :

Ben il "suffit" d'avoir dans le programme un truc qui stocke l'info d'où est le fichier, tu peux faire ça avec un truc maison (fichier Json ou xml ou ce que tu veux), soit en utilisant un truc natif (genre les fichiers Settings.settings, "Fichier de paramètre" dans les types de fichier à ajouter proposés par VS), etc.
Ca te permettra de manière générale d'enregistrer les préférences utilisateurs et de les recharger à sa prochaine utilisation, c'est parfois utile :o


Ok, merci !  :jap:  
 
Seconde petite question : quand je publie mon appli, j'obtiens donc un dossier publish, dans lequel mon fichier se voit rajouter une extension *.deploy. Est-ce normal ?


---------------
Topic Blindtest
n°2406969
mikekine
Posté le 14-01-2022 à 17:53:55  profilanswer
 

Okay, j'ai trouvé ma réponse ici : https://stackoverflow.com/questions [...] o/16871762  ;)


Message édité par mikekine le 14-01-2022 à 17:54:10

---------------
Topic Blindtest
mood
Publicité
Posté le 14-01-2022 à 17:53:55  profilanswer
 

n°2407058
TotalRecal​l
Posté le 16-01-2022 à 12:30:56  profilanswer
 

Pour générer des "setup" en client lourd (winform et cie), la fonction Publish de VS c'est un peu tout pourri. Il faut passer par des extensions ou des outils externes.


Message édité par TotalRecall le 16-01-2022 à 12:31:45

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Continuer à accéder à des fichiers après publication (sous VS) ?

 

Sujets relatifs
Encodage RSA Javascript Vs JavaMacro de publipostage en multiple fichiers pdf - Message d'erreur
(CLOS) Comment comparer les fichiers .class ?fichier batch pour relier des fichiers videos
Spliter tout les fichiers txt d'un dossier par ligne[RÉSOLU] Envoyer une liste de noms de fichiers vers un exécutable
[résolu]Insérer des fichiers jmol dans page web[PHP] - Extraire chemins des fichiers mp3 dans balise audio
Redirection pour aller chercher certains fichiers sur un autre siteAction batch sur fichiers sélectionnés
Plus de sujets relatifs à : Continuer à accéder à des fichiers après publication (sous VS) ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR