Problème avec le debug de Visual Studio 2022 Community

sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022 - 8 avril 2022 à 13:11
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 - 19 avril 2022 à 14:19
Bonjour,

J'ai développé une application il y a 2 ans sous visual basic 2010.
Mon employeur a changé les ordinateurs et mon application ne fonctionne plus complètement.
J'ai tenté d'installer Visual Basic 2010 sur ce nouvel ordinateur mais rien n'y fait.
Donc j'ai installé Visual Studio 2022 Community.

J'ai 2 difficultés qui m'empêchent de rechercher les erreurs.

La première, et de taille, quand je clique sur le bouton DEMARRER du debug, une erreur intervient tout de suite. Mon application fait appel à des fichiers or, le debug impose le dossier bin\debug à mes dossiers.
Par exemple, l'application devrait appeler le fichier c:\RépertoireDeLappli\Fichiers\fichier.csv et l'erreur de VS m'indique qu'il ne trouve pas le fichier : c:\Répertoire\bin\debug\Fichier\fichier.csv
Ainsi, impossible pour moi de tester mon application.
Sauriez-vous comment contourner cet écueil ?

La deuxième difficulté est que si je modifie mon code, je ne sais pas où retrouver mon exécutable. Sur VBexpress 2010, je récupérais l'exécutable dans le dossier DEBUG...
Pourriez-vous m'indiquer la procédure pour récupérer l'exécutable ?

En vous remerciant de votre indulgence quant à mon ignorance... Je dois dire que VS Studio me parait bien compliqué.
Merci

43 réponses

vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 3 mai 2022 à 16:42
Bonjour
C'est tout à fait compréhensible que Visual Basic Net 2010 ne fonctionne point sur le nouveau PC . Ce ne sont pas les mêmes Framework qui sont utilisés entre VB 2010 et VB 2022 .
Maintenant concernant les fichiers utilisés par l'application Visual Studio n'a jamais imposé de mettre ces fichiers dans un répertoire bien précis . Même il faut éviter de les mettre dans le même répertoire que l'application car si on fait un Setup de cette application pour l'installer sur un autre PC on installe aussi les fichiers de données . Evidemment si ces fichiers de données ne sont JAMAIS modifiés par l'application cela ne pose aucun problème .
Maintenant où mettre les fichiers de données ?
Application.UserAppDataPath
te donne le répertoire utilisé par l'application pour y stocker les fichiers de données du projet . Et ces fichiers sont modifiables sans souci par l'application . Par contre ces fichiers ne sont pas pris en compte lors de la création d'un Setup pour installer l'application sur un autre PC .
Quant à l'exécutable il est dans le répertoire bin\debug de ton application . ATTENTION : il ne faut jamais utiliser l'exécutable directement pour l'installer sur un autre PC . Il faut créer un Setup d'installation avec l'onglet "Publier" lorsque l'on accède aux "Propriétés du Projet"

0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
8 avril 2022 à 15:34
Merci pour votre réponse.
Je demeure perplexe.
Toute mon application fonctionne avec des appels à des fichiers modifiables. Je ne vois pas comment faire pour tout modifier les affectations des fichiers.
Ce que je ne comprends pas, c'est pourquoi lors du test de VS il affecte bin\debug... Il n'y a pas d'autres solutions pour que je puisse tester ?
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 8 avril 2022 à 16:17
Bonjour
Je suppose que tous vos fichiers de données utilisés par votre application sont dans le même répertoire .
Quel est ce répertoire ( avec son nom exact ) ?
Autre chose : quel est le message d'erreur dont vous parlez au démarrage de l'application et à quelle ligne de code se produit-t-elle ? PS : pour poster du code prière de suivre ce tuto : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Merci

0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
8 avril 2022 à 16:57
Bonjour

Avant d’aller plus loin, il faudrait clarifier un point important, tu as parlé « d’employeur » donc tu as installé VS Community pour un usage professionnel.
Je te renvoie vers les conditions d’utilisation, https://visualstudio.microsoft.com/fr/vs/community/ tout en bas de la page.

Je cite :
Pour les entreprises
Un nombre illimité d’utilisateurs au sein d’une entreprise peut utiliser Visual Studio Community dans les cas suivants : dans un environnement d’apprentissage, pour effectuer des recherches universitaires, ou pour contribuer à des projets open source.

Pour tous ces cas d’utilisation :
Dans les organisations non commerciales, jusqu’à 5 utilisateurs peuvent utiliser Visual Studio Community.
Dans les entreprises commerciales (c’est-à-dire celles qui possèdent plus de 250 PC ou totalisent un chiffre d’affaires annuel de plus de 1 million de dollars (USD)), Visual Studio Community ne peut être utilisé en dehors des cas mentionnés ci-dessus (projets open source, recherche universitaire, environnement d’apprentissage).


Si ton utilisation de VS s’avère frauduleuse, les règles de ce forum nous interdisent de t’aider.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 8 avril 2022 à 17:49
bonjour Whismeril
C'est un aspect de la question dont j'avoue que je n'y ai nullement prêté attention .
Attendons donc la réponse de l'intéressé avant de poursuivre .

0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
9 avril 2022 à 11:49
Je suis enseignant. Je développe des outils pour aider mes collègues dans leur tâches administratives. Je peux vous assurer que je suis dans le cadre des conditions d'utilisation
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
9 avril 2022 à 15:18
Bonjour
A mon propre avis vous n'êtes dans aucun des 3 cas autorisés pour l'utilisation de VS Community
1) Ce n'est pas un projet Open source .
2) Il n'a rien à voir avec de la recherche universitaire .
3) Il n'est pas utilisé dans un environnement d'apprentissage .
Le fait que vous développez des outils pour vos collègues s'apparente à de la programmation de logiciels utilisés dans un but professionnel .
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022 > vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024
9 avril 2022 à 19:17
Je comprends bien le souci d'être en règle avec les conditions d'utilisation.
Mais ma lecture est différente de la votre et j'estime être en accord avec ces conditions.
Comme indiqué, je suis enseignant. Je développe un logiciel pour gérer les notes, les évaluations et les commentaires des élèves. Ce qui correspond à l'environnement d'apprentissage. De plus, mon travail est déjà distribué à mes collègues et le code est accessible à leur demande. Il s'agit donc d'une source ouverte.
C'est pour ces raisons que je m'accorde le droit d'utiliser VS.
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656 > sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
9 avril 2022 à 22:07
Bonsoir

De plus, mon travail est déjà distribué à mes collègues et le code est accessible à leur demande.
Ça n'en fait pas un projet open source puisqu'il est destiné à tes collègues.

Cela étant, tu travailles dans un "environnement d'apprentissage" et n'étant pas juriste, en ce qui me concerne, je te laisse le bénéfice du doute.
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
9 avril 2022 à 11:59
VB95 :
Pour répondre à ta question, l'exécutable est dans un dossier : DOSSIERAPPLI. Les données sont dans divers dossiers à l'intérieur de ce dernier dossier. Par exemple : DOSSIERAPPLI\Fichiers ou DOSSIERAPPLI\Images
L'erreur dès le début de test est : system.IO.DirectoryNotFoundExeption : impossible de trouver une partie du chemin d'accès 'C:\...\DOSSIERAPPLI\bin\Debug\Fichier\nomdefichier.csv.

D'où ma difficulté d'utiliser le test pour savoir où mon programme ne fonctionne pas avec le nouveau Framework (d'ailleurs... je suis étonné qu'il ne le prenne pas en compte)

Donc, comment faire pour éviter cette affectation de dossier bin\debug par VS pour tester mon programme ?

En vous remerciant

Merci VB95, j'ai trouvé comment générer mon exécutable.
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
9 avril 2022 à 22:08
Peux tu poster la ligne de code qui génère cette erreur?
En faisant comme décrit là https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169 > Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024
10 avril 2022 à 20:34
Salut Whis
Je lui ai déjà demandé au message n° 3 .
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
13 avril 2022 à 17:01
VB95 :
Pour répondre à ta question, l'exécutable est dans un dossier : DOSSIERAPPLI.

Les données sont dans divers dossiers à l'intérieur de ce dernier dossier. Par exemple : DOSSIERAPPLI\Fichiers ou DOSSIERAPPLI\Images

L'erreur dès le début de test est :
system.IO.DirectoryNotFoundExeption : impossible de trouver une partie du chemin d'accès 'C:\...\DOSSIERAPPLI\bin\Debug\Fichier\nomdefichier.csv


D'où ma difficulté d'utiliser le test pour savoir où mon programme ne fonctionne pas avec le nouveau Framework (d'ailleurs... je suis étonné qu'il ne le prenne pas en compte)

Donc, comment faire pour éviter cette affectation de dossier bin\debug par VS pour tester mon programme ?

En vous remerciant
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
13 avril 2022 à 17:33
Bonjour
Whismeril au message 12 et moi même au message 3 nous avons posé des questions bien précises .
Tu ne nous pas vraiment répondu .
Montre nous le code avec la ligne de l'erreur ( en suivant ce tuto : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code ) et en disant à quelle ligne se situe l'erreur .
Maintenant réfléchissons un peu : tu lances l'exécution directement depuis l'exécutable en .exe ou en utilisant le menu "Débugger" de Visual Studio ?
Quel est le chemin réel de ton dossier DOSSIERAPPLI ( Exemple de réponse : "C:\DOSSIERAPPLI" ) ?
Sinon on risque de ne pas avancer du tout .
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
13 avril 2022 à 17:43
Pardon de n'avoir pas été précis. Je ne suis pas informaticien et j'avoue être un peu dépassé parfois.

Le problème est bien là. Je lance l'application du debugger de VS.

la ligne de code est :
 FileOpen(1, C:\...\DOSSIERAPPLI\Fichier\nomdefichier.csv, OpenMode.Input)


Et VS me met comme erreur :
system.IO.DirectoryNotFoundExeption : impossible de trouver une partie du chemin d'accès 'C:\...\DOSSIERAPPLI\bin\Debug\Fichier\nomdefichier.csv
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
13 avril 2022 à 17:44
donc il ajoute Debug\bin\ au nom du fichier !
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
13 avril 2022 à 18:05
Tu as copié coller exactement la ligne de code?
Par ce que si oui, c'est pas du VB
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 14 avril 2022 à 15:41
bonjour
Déjà
FileOpen
c'est du code VB6 .
VB Net permet cela mais ce n'est guère optimisé . Le jour où VB Net ne le permettra plus ton code ne fonctionnera plus . De plus on ne mélange pas les torchons et les serviettes : VB6 n'est plus optimisé depuis 1998 et je doute que cela soit fait à l'intérieur de Visual Studio .
Deux choses à faire en priorité :
1) Mettre le projet avec Option Strict et Option Explicit . cliquez dans Propriétés du projet dans le menu Projet . Une fois ceci fait cliquez dans l'onglet "Compiler"

Mettre les 2 sur On ( tu peux agrandir l'image en cliquant dessus) .
2) Supprimer l'importation automatique de VB 6 dans Visual Studio .
Dans le même interface que précédemment Cliquez sur l'onglet "References" .
Dans la liste du bas décochez Microsoft Visual Basic ( normalement c'est la première ligne) . Ainsi vous ferez du vrai VB Net et non un VB Net Vb6isé . Evidemment après cela
FileOpen
ne sera pas reconnu par VB Net

Maintenant deux cours très intéressants : https://plasserre.developpez.com/cours/vb-net/ et https://tahe.developpez.com/dotnet/vbnet/

Maintenant je t'ai aussi demandé où se trouve réellement ton dossier DOSSIERAPPLI . Regarde avec l'explorateur de fichier de Windows et dis nous le chemin exact de ce dossier .

0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
14 avril 2022 à 18:19
Bonjour,
Effectivement mon code date ! J'ai travaillé aujourd'hui pour me remettre à la page. Voici le nouveau code :
Dim j As StreamReader = New StreamReader(FichierEleves, Encoding.Default)
                infoEleve = j.ReadLine
                Do Until infoEleve Is Nothing
                    incEleve = incEleve + 1
                    infoEleve = Replace(infoEleve, ",", " ")
                    'Valuer le tableau de structure vEleves
                    Dim decodeInfoEleve As String() = Split(infoEleve, ";")
                    Dim i As Integer = 1
                    For i = 1 To taille_vEleve 'vEleves.GetUpperBound(1) 'taille_vEleve
                        vEleves(incEleve, i) = Replace(decodeInfoEleve(i - 1), ",", " ") ' -1 car split donne une liste commençant à 0
                    Next
                    infoEleve = j.ReadLine
                Loop
                j.Close()


Je clique sur le bouton
Démarrer


Et j'obtiens la même erreur :
system.IO.DirectoryNotFoundExeption : impossible de trouver une partie du chemin d'accès 'C:\...\DOSSIERAPPLI\bin\Debug\Fichier\FichierEleves.csv


J'admets que mon code était obsolète et je vous remercie de me l'avoir signalé. Mais là où Visual Basic 2010Express me permettait de tester mon code et de me signaler les lignes où il y avait des erreurs, VS ne me permet même pas de tester. Il affecte à mes chemins de fichiers un
bin\debug
par défaut.

Si vous avez une idée ?
En vous remerciant
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
14 avril 2022 à 19:20
Bonjour
il y a déjà du mieux .
Quelques conseils :
1) on préfère garder les variables i et j pour les boucles for .
Donc
Dim j As StreamReader = New StreamReader(FichierEleves, Encoding.Default)
deviendra
Dim StReader As StreamReader = New StreamReader(FichierEleves, Encoding.Default)

du coup
 j.close()
devient
StReader .Close()

2) Les tableaux et les collections en VB Net commencent toujours à l'indice 0 et non à l'indice 1 par défaut en VB6 .
3) Les boucles
Dim i As Integer = 1
For i = 1 To taille_vEleve 'vEleves.GetUpperBound(1) 'taille_vEleve
   vEleves(incEleve, i) = Replace(decodeInfoEleve(i - 1), ",", " ") ' -1 car split donne une liste commençant à 0
Next

à remplacer par ( sans certitude : voir point 5 )
For i = 0 To taille_vEleve - 1   ' taille_vEleve
         vEleves(i) = Replace(decodeInfoEleve(i), ",", " ") 
Next

Un tableau de 10 valeurs a des indices de 0 à 9 par exemple
4) Ces lignes sont elles encore utiles ( ligne 4 et 5 de ton code )
incEleve = incEleve + 1
infoEleve = Replace(infoEleve, ",", " ")

5) Peux-tu nous mettre le détail de la structure vEleves pour lever le doute sur le point 3
6) Mets nous les lignes de code qui définissent le chemin de ton dossier DOSSIERAPPLI

Maintenant je me répète : Où se trouve réellement ton dossier DOSSIERAPPLI . Regarde avec l'explorateur de fichier de Windows et dis nous le chemin exact de ce dossier .
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
14 avril 2022 à 20:52
C'est marqué dans son message d'erreur, ce qu'il appelle DossierAppli c'est le dossier du projet.
system.IO.DirectoryNotFoundExeption : impossible de trouver une partie du chemin d'accès 'C:\...\DOSSIERAPPLI\bin\Debug\Fichier\FichierEleves.csv



Peux tu
  • mettre un point d'arrêt à la ligne
    Dim j As StreamReader = New StreamReader(FichierEleves, Encoding.Default)
    et regarder le contenu de la variable FichierEleves

Si ce contenu est
"FichierEleves.csv"
alors c'est "normal" que ça plante, je t'expliquerai et il faudra comprendre pourquoi dans la version VS ça ne fonctionnait pas normalement.
  • Si son contenu est
    "C:\...\DOSSIERAPPLI\bin\Debug\Fichier\FichierEleves.csv"
    alors il faut revenir en arrière dans le programme pour trouver le bloc de code qui affecte cette variable, et le poster.
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
15 avril 2022 à 18:53
Bonjour,

@ Whismeril :
Donc après mise d'un point d'arrêt à la ligne sus citée, l'erreur est toujours présente et le contenu est :
FichierEleves = "C:\OUTILS\DOSSIERAPPLI\bin\Debug\Fichier\fichiereleves.csv"


En fait FichierEleves est affecté comme suit :
Dim FichierEleves As String = Path & "Fichiers\fichiereleves.csv"


Et plus haut dans le programme Path est affecté comme suit :
dim Path as string = "C:\DOSSIERAPPLI\


Ce que je ne comprends pas c'est en fait pourquoi le debbuger de VS affecte
 bin\debug

Faut-il que j'utilise le debugger différemment ? Sur VB2010Express il n'y avait pas de problème de ce type.

@ vb95 :
Merci pour tes conseils.
Pour répondre à ta question : "Maintenant je me répète : Où se trouve réellement ton dossier DOSSIERAPPLI . Regarde avec l'explorateur de fichier de Windows et dis nous le chemin exact de ce dossier ."

DOSSIERAPPLI est situé sur le C:\OUTILS\

L'exécutable est dans le dossier
DOSSIERAPPLI
.
Les fichiers appelés par le programme sont dans le dossier :
DOSSIERAPLI\Fichier\


Je vous remercie pour le temps passé. Même si mon code n'est pas pro, voire obsolète (et je vous remercie de me corriger) je ne pense pas que le problème du debug vienne de lui.
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 15 avril 2022 à 21:56
Bonjour
On a enfin la réponse à nos questions .
1) tu dis que l'exécutable est dans le dossier DOSSIERAPPLI c'est-à-dire C:\OUTILS\DOSSIERAPPLI . Est-ce toi qui l' déplacé ?
Normalement l'exécutable est dans le dossier bin/debug du répertoire du projet
Un exemple ici avec un de mes projets : l'exécutable est le fichier DirectDiskNet.exe .
Cliquez dans l'image pour l'agrandir .


2) ensuite les fichiers de données .
Tu peux utiliser
Application.StartupPath
ou
Application.UserAppDataPath
comme répertoire pour les données .
Le premier est le répertoire de l'exécutable lui même alors que le second est un répertoire qui sera créé automatiquement pour les données de ce projet .
Ce second répertoire est de la forme : C:\users\retra\AppData\Roaming\NomProjet\1.0.0.0
c:\users est le répertoire C:\Utilisateurs . Ce répertoire contient généralement 3 répertoires : Default, Public et un troisième qui t'est personnel . C'est par ce troisième nom de répertoire que tu dois remplacer retra ( qui est mon répertoire personnel de données ) .
C'est donc dans C:\users\XXXXX\AppData\Roaming\NomProjet\1.0.0.0 que tu vas stocker tes fichiers de données .
Supposons que j'ai un fichier FichierEleves.csv dans un répertoire Fichiers .
Pour l'affecter on fera
Dim FichierEleves As String = Application.UserAppDataPath & "Fichiers\fichiereleves.csv"
.

Le nom complet du fichier est donc C:\users\XXXXX\AppData\Roaming\NomProjet\1.0.0.0\Fichiers\fichiereleves.csv

Il te suffit de déplacer tous tes fichiers de données dans ton répertoire
 Application.UserAppDataPath
et d'affecter tous tes fichiers comme ci dessus


0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
15 avril 2022 à 23:06
Est ce que tu peux mettre un point d'arrêt à cette ligne
Dim FichierEleves As String = Path & "Fichiers\fichiereleves.csv"

et regarder le contenu de Path
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
16 avril 2022 à 12:31
@vb95
!!! ça commence à flirter avec les limites de mes compétences et de ma compréhension.

Pour répondre à ta question : "Bonjour
On a enfin la réponse à nos questions .
1) tu dis que l'exécutable est dans le dossier DOSSIERAPPLI c'est-à-dire C:\OUTILS\DOSSIERAPPLI . Est-ce toi qui l' déplacé ?

Oui, c'est moi qui l'a copié à cet emplacement.

Je ne comprends pas l'utilité de
Application.StartupPath
et
Application.UserAppDataPath

Concrètement, dans le répertoire du projet où j'ouvre VS, je créé un dossier
Données
. Dans mon code, quand j'écrirai
Application.UserAppDataPath & "\Données"
, il trouvera automatiquement le dossier
Données
?

Pour
Application.StartupPath
, J'affecte en début de programme
Dim Path As String = Application.StartupPath


Je sens bien que mon ignorance devient crasse !

@Whismeril

Même erreur encore et le contenu de Path est toujours le même.
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
16 avril 2022 à 13:57
Même erreur
quelle erreur?
Le plantage de l'appli ? Si oui, on n'a rien corrigé ça va pas s'arrêter par magie, et donc c'est pas une info pertinente.
D'ailleurs, y'a même pas besoin de continuer l'exécution pour répondre à la question.
Si c'est pas ça que tu appelles
Même erreur
explique.

Si tu veux qu'on y arrive, il faut répondre avec précision à ce qu'on te demande (éventuellement, poste des captures d'écran)
Donc quand tu dis
et le contenu de Path est toujours le même.
Est ce que cela veut dire qu'en mettant un point d'arrêt à cette ligne
Dim FichierEleves As String = Path & "Fichiers\fichiereleves.csv"
le contenu de Path est
"C:\DOSSIERAPPLI\"
?
Si oui, peux tu exécuter une ligne en pas à pas et regarder le résultat de la concaténation?
Si après cette concaténation le résultat de la concaténation est conforme à ce que tu attends, peux tu mettre un espion à la variable FichierEleves et exécuter en pas à pas jusqu'à ce que son contenu change et poster la ligne de code qui fait changer le contenu.

@VB, je pense que tes propositions embrouillent sylvain plus que nécessaire.
On va y aller par étapes pour trouver la cause et quand on l'aura on verra à appliquer les mesures nécessaires.
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169 > Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024
16 avril 2022 à 14:19
Salut Whis
Mais pourtant à mes yeux c'est la solution pour repartir sur une base saine !
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656 > vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024
16 avril 2022 à 14:28
Selon la cause, oui
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656 > Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024
16 avril 2022 à 14:30
enfin, les fichiers dans appData/roaming c'est plutôt contraignant je trouve
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
16 avril 2022 à 13:45
Bonjour
1) Si tu as vraiment déplacé l'exécutable c'est normal que Visual Basic ne s'y retrouve plus .
Si tu lances un projet depuis l'interface de Visual Basic ( menu Deboguer --> Démarrer le débogage ) il ne faut jamais déplacer l'exécutable .
Pour installer un projet sur un PC et le lancer sans Visual Studio il faut créer un Setup d'installation et non exécuter directement l'exécutable .
2) Utilité de
Application.StartupPath 
et
Application.UserAppDataPath

Ces 2 répertoires se créent automatiquement : tu n'as rien à faire . Le second ne se crée que si une instruction
Dim RepertoireDonnees as String = Application.UserAppDataPath
existe dans le projet .

Application.StartupPath
te donne le répertoire du projet et
Application.UserAppDataPath
te donne le répertoire des données du projet .
Pourquoi utiliser le second plutôt que le premier pour les données ? Imagines que tu as ton projet et que tu as fait un Setup d'installation . Avec le premier les données sont avec l'exécutable alors qu'avec le second elles sont bien dans un répertoire distinct de l'exécutable . Tu trouves une nouvelle fonction ou des améliorations à faire à ton projet . tu rajoute le code nécessaire à ton projet et tu refait un Setup . Avant d'installer ton nouveau Setup il faut que tu désinstalles l'ancien . Avec
Application.StartupPath
tu perds toutes tes données alors qu'avec l'autre ce n'est pas le cas ..

Maintanant comment corriger ton projet ?
1) Vérifier que l'exécutable soit bien dans le répertoire bin/debug du projet .
2) Créer en début du projet une variable qui contient le répertoire de données :
Dim RepertoireDonnees as String = Application.UserAppDataPath
par exemple .
3) Déplacer toutes tes données dans ce répertoires .
4) Pour accéder à un fichier de données suivre cet exemple
Dim FichierEleves As String = Application.UserAppDataPath & "Fichiers\fichiereleves.csv"


0
Rejoignez-nous