Config de VS pour un fichier txt ?

Config de VS pour un fichier txt ? - C#/.NET managed - Programmation

Marsh Posté le 11-06-2024 à 11:23:12    

Salut !
 
J'ai un petit souci avec mon projet.
 
Mon application Windows Form va chercher/écrit des infos dans un fichier texte ("blindeurs.txt" ) pendant son exécution. Ce fichier est tout normalement stocké dans ce dossier : "D:\Mes documents\Visual Studio 2017\Projects\BT_Jeu\BT_Jeu".
 
Dans Visual Studio, j'ai défini les paramètres suivants pour ce fichier :
 
https://zupimages.net/up/24/24/dvjv.png
 
Ce qui signifie que c'est le fichier "blindeurs.txt" du dossier "...\bin\debug" qui est utilisé/modifié. Dans le code, c'est effectivement ce dossier qui est mentionné :
 

Code :
  1. Directory.GetCurrentDirectory() + "\\blindeurs.txt"


Pourquoi cette configuration ? Pour qu'après publication et exécution depuis n'importe où, l'appli retrouve le fichier "blindeurs.txt" publié.
 
Mais le problème, c'est que le fichier "blindeurs.txt" du dossier "D:\Mes documents\Visual Studio 2017\Projects\BT_Jeu\BT_Jeu" n'est donc jamais utilisé/modifié; or, lors de la publication, c'est ce fichier non-utilisé/non-modifié qui est publié.  
 
 
D'où ma question : Comment configurer tout cela de manière à ce que :
 
1) Ce soit le fichier "blindeurs.txt" du dossier "D:\Mes documents\Visual Studio 2017\Projects\BT_Jeu\BT_Jeu" qui soit utilisé;
2) Mais qu'en même temps, lors de l'exécution de l'appli publiée, il puisse retrouver le fichier "blindeurs.txt" ?
 
Je ne sais pas si je suis clair ?...  :pt1cable:  
Merci pour votre aide !  :jap:


Message édité par mikekine le 11-06-2024 à 11:24:17

---------------
Topic Blindtest
Reply

Marsh Posté le 11-06-2024 à 11:23:12   

Reply

Marsh Posté le 11-06-2024 à 14:48:37    

Bon, j'ai rajouté cette commande dans les évènements post-build dans les propriétés du projet.. et ça fonctionne !  
 

Code :
  1. copy /Y "$(TargetDir)blindeurs.txt" "$(ProjectDir)blindeurs.txt"


Mais j'ai l'impression que ce n'est pas très académique !
 
Donc, pour résumer mon blabla de ci-dessus : est-il normal qu'un fichier texte localisé dans le dossier de base de l'application ne soit pas impacté par des modifications qui ont lieu sur le "même" fichier mais localisé (suite à une copie par VS) dans le dossier \bin\debug ?


---------------
Topic Blindtest
Reply

Marsh Posté le 24-01-2025 à 10:23:59    

Qu'est-ce que tu entends pas "localisé" ?

 

Sinon, j'ai régulièrement ton souci avec des solutions à projet multiple : lorsqu'un projet référence un projet qui contient des fichiers "contenu", alors les fichiers sont copiés dans le output dir du projet qui les déclare, mais pas dans le output dir du projet qui appelle... du coup à l'exécution soit ça plante, soit tu pars sur une ancienne version...

 

Sinon, c'est normal que le fichier modifié lors de ton exécution ne mette pas à jour le référentiel des sources.

Message cité 1 fois
Message édité par Arjuna le 24-01-2025 à 10:25:28
Reply

Marsh Posté le 25-01-2025 à 11:40:58    

Arjuna a écrit :

Qu'est-ce que tu entends pas "localisé" ?
 
Sinon, j'ai régulièrement ton souci avec des solutions à projet multiple : lorsqu'un projet référence un projet qui contient des fichiers "contenu", alors les fichiers sont copiés dans le output dir du projet qui les déclare, mais pas dans le output dir du projet qui appelle... du coup à l'exécution soit ça plante, soit tu pars sur une ancienne version...
 
Sinon, c'est normal que le fichier modifié lors de ton exécution ne mette pas à jour le référentiel des sources.


Ben, "localisé", ça veut dire qu'il se situe à tel endroit dans l'arborescence... Je ne suis pas sûr de comprendre ta question [:transparency]


---------------
Topic Blindtest
Reply

Marsh Posté le 25-01-2025 à 17:51:56    

"localisé" en développement ça veut régulièrement dire "décliné en plein de versions selon la langue de destination". J'imagine que c'est ça qui était ambigu pour Arjuna :d


---------------
Topic .Net - C# @ Prog
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed