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

sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
17 avril 2022 à 17:41
@ Whismeril
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

Path = "C:\DOSSIERAPPLI\bin\Debug\"


Si oui, peux tu exécuter une ligne en pas à pas et regarder le résultat de la concaténation?
Je ne sais comment faire cela ?

@VB
1) Vérifier que l'exécutable soit bien dans le répertoire bin/debug du projet .
Oui. L'exécutable est bien dans le répertoire bin\debug

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 .
J'ai créé un dossier
UserAppDataPath
dans le dossier
DOSSIERAPPLI


3) Déplacer toutes tes données dans ce répertoires .
J'ai déplacé tous les dossiers données dans le répertoire
UserAppDataPath


4) Pour accéder à un fichier de données suivre cet exemple
Dim FichierEleves As String = Application.UserAppDataPath & "Fichiers\fichiereleves.csv"

J'ai bien modifié le code. J'ai démarré le débogueur
 menu Deboguer --> Démarrer le débogage
. Le dégogueur ne fonctionne pas. Et
FichierEleves="C:\DOSSIERAPPLI\bin\Debug\Fichiers\FichierEleves.csv"


Je désespère de pouvoir faire évoluer mon programme ! VB2010Express était simple. Le débogage fonctionnait très bien et m'indiquait là où se trouvait mes erreurs de code.
Avec VS, je ne peux même pas mettre en route le code. J'entends que je ne suis pas bon, pas toujours pertinent et mon code est certainement obsolète. Mais je ne comprends pas en quoi ce serait mon code qui induirait l'affectation par VS du répertoire bin\debug...
Je m'y perds.
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 17 avril 2022 à 18:08
Bonjour
Je reprends le point 2 de ton dernier message .
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 .
J'ai créé un dossier UserAppDataPath dans le dossier DOSSIERAPPLI

Je t'ai dit de créer la variable :
Dim RepertoireDonnees as String = Application.UserAppDataPath

Je ne t'ai jamais dit de créer le dossier UserAppDataPath dans le dossier DOSSIERAPPLI .. Le dossier UserAppµµDataPath se crée tout seul lors de l'instruction
Dim RepertoireDonnees as String = Application.UserAppDataPath


Donc vu que ton exécutable est bien dans le répertoire bin\debug du projet il te faut
1) 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 .
2) Déplacer toutes tes données dans ce répertoire .
3) Pour accéder à un fichier de données suivre cet exemple
 Dim FichierEleves As String = Application.UserAppDataPath & "Fichiers\fichiereleves.csv" 




0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
Modifié le 17 avril 2022 à 18:09
Que veut dire alors déplacer toutes les données dans ce répertoire ?
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 17 avril 2022 à 18:20
C'est pourtant simple
Tes données sont dans le répertoire DOSSIERAPPLI\Fichiers et DOSSIERAPPLI\Images .
Tu as donc 2 répertoires où se trouvent tes données . le répertoire fichiers et le répertoire Images .
Il te suffit de copier ces 2 répertoires dans le répertoire
Application.UserAppDataPath
.
Ce répertoire se trouve dans C:\users\XXXXX\AppData\Roaming\NomProjet\1.0.0.0 que tu vas stocker tes fichiers de données . vu que tu as mis tes fichiers de données dans des répertoires Fichiers et Images ce sont ces répertoires que tu copies dans
Application.UserAppDataPath
.

0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
17 avril 2022 à 18:19
je dois être un imbécile ! Je ne vois pas de répertoire
Application.UserAppDataPath
dans C:\
Faut-il que je le créé ?
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
17 avril 2022 à 18:27
Non il se crée tout seul si tu as inclus au début de ton programme
Private RepertoireDonnees as String = Application.UserAppDataPath
tout en haut dans le code de ta Form
Un exemple ici

0

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

Posez votre question
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
Modifié le 17 avril 2022 à 18:30
Sylvain, on va laisser tomber AppData, Application.UserAppDataPath et Application.StartupPath pour l'instant, comme je l'ai déjà écrit plus haut ça t'embrouille plus qu'autre chose. Dans l'absolu, VB te propose d'appliquer les préconisations de Microsoft, mais elles valent surtout pour un programme situé dans Programme Files pour Windows 10 et 11. Et là ton projet est ailleurs, donc on verra après la résolution si on fait mieux ou pas.

VB2010Express était simple. Le débogage fonctionnait très bien et m'indiquait là où se trouvait mes erreurs de code.
non il t'indiquait les erreurs de syntaxe, là c'est autre chose.

Si oui, peux tu exécuter une ligne en pas à pas et regarder le résultat de la concaténation?
Je ne sais comment faire cela ?
comme avec VB2010, donc finalement tu ne savais pas débogguer non plus avec cet IDE.
En plus, puisque le le bin/debug est déjà présent à cette ligne donc il ne faut pas aller plus loin dans l'exécution.

Il y a 3 options (à priori)
  • Path est une classe de VB et donc appeler une variable par le même nom peut mettre le bazar...
  • soit tu as plusieurs variables de ce nom avec des contenus différents
  • soit quelque part entre la déclaration et ce moment le contenu a changé, il faudra trouver où/pourquoi.


Testons la première option:
A cette ligne,
Dim FichierEleves As String = Path & "Fichiers\fichiereleves.csv"
, mets la souris sur Path, attends l'infobulle et vérifie si Path est une String
Si Path n'est pas une string, pas la peine d'aller plus loin, tu reviens ici le dire

Si Path est une string, la première option est éliminée, on teste la 2eme:
A la ligne
dim Path as string = "C:\DOSSIERAPPLI\
, tu appelles Path autrement et tu essayes de compiler. Il va y avoir des erreurs de syntaxes, c'est ce qu'on cherche.
S'il y en a une a la ligne
Dim FichierEleves As String = Path & "Fichiers\fichiereleves.csv"
, c'est que tu utilises la même variable, s'il n'y en a pas c'est que tu as 2 variables (au moins) qui s'appellent Path.
Dans un cas comme dans l'autre reviens ici pour dire le résultat de ce 2eme test.


0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
17 avril 2022 à 18:52
@ Whismeril

Première option : Path est bien un string.
Deuxième option :
J'ai modifié
dim Path as string = "C:\eeee\

J'ai lancé
 menu Deboguer --> Démarrer le débogage
.
Et là ???? je n'y comprends plus rien :
Path = "C:\DOSSIERAPPLI\bin\Debug"

Le débogueur ne prend pas en compte ce que je viens de modifier ! Pourtant j'ai enregistré la modification.

,
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
17 avril 2022 à 18:58
Je n.ai pas été assez explicite.
Je veux que ça
 dim Path as string = "C:\DOSSIERAPPLI\ 
devienne
 dim MonChemin as string = "C:\DOSSIERAPPLI\ 
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022 > Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024
17 avril 2022 à 19:04
Fait. Et !!!!
J'ai lancé

menu Deboguer --> Démarrer le débogage

Et
Path = "C:\DOSSIERAPPLI\bin\Debug"


Le débogueur ne prend pas en compte ce que je viens de modifier ! Pourtant j'ai enregistré la modification.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
17 avril 2022 à 19:09
Donc tu as 2 variables qui s’appellent Path, et la première ne sert jamais.

Tu vas faire une recherche sur Path = si tu trouves une (ou des occurrences) tu copies la ligne ici
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
17 avril 2022 à 19:18
Après recherche, il n'y a que la déclaration de Path comme suit :
Dim Path as String


J'ai créé l'ouverture d'un Msgbox en début de programme pour voir si il prenait en compte ce changement. Et bien non ! Il fait comme si il ne prenait pas en compte les changements dans le code !
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
17 avril 2022 à 19:24
Ha,
Dans la liste d’erreurs, y’a t il des erreurs de compilation ?
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
17 avril 2022 à 20:06
A mon avis, à un moment tu as eu ce message

Tu as cliqué sur Oui et coché la case.

Pour vérifier, tu vas aller dans le menu Outils/Options et regarder le paramètre entouré

Et le mettre à "ne pas lancer".
S'il y est déjà viens le dire.

S'il n'y était pas, retour à l'option 2
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
17 avril 2022 à 20:20
Il y a des erreurs de compilation :
Gravité	Code	Description	Projet	Fichier	Ligne	État de la suppression
Erreur Une erreur s'est produite lors de la signature : Impossible de signer bin\Debug\app.publish\EAO-Sand.exe. SignTool Error: No certificates were found that met all the given criteria. EAO-Sand
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
17 avril 2022 à 20:28
T'as fait Génerer/Générer la solution ?
Ou Générer/Publier [Nom de ton projet].exe ?
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
17 avril 2022 à 20:30
J'ai lancé

menu Deboguer --> Démarrer le débogage


.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
17 avril 2022 à 20:43
As tu vérifier/corrigé l'option
Si non, fais le et ensuite Génerer/Générer la solution
Et dis moi ce qui se passe
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
17 avril 2022 à 20:47
J'ai mis l'option.
J'ai fais Génerer/Générer la solution
Il ne se passe rien.
La liste d'erreurs indique :
Gravité	Code	Description	Projet	Fichier	Ligne	État de la suppression
Erreur Une erreur s'est produite lors de la signature : Impossible de signer bin\Debug\app.publish\EAO-Sand.exe. SignTool Error: No certificates were found that met all the given criteria. EAO-Sand
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
17 avril 2022 à 20:51
OK, va dans le menu Aide/Enregistrer le produit et vérifie si tout va bien.
Si on te demande de remettre tes identifiants Microsoft, fais le.
Si tu n'en as pas crée le
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
17 avril 2022 à 20:57
C'est fait
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
17 avril 2022 à 20:58
Et ensuite, dans les propriétés du projet, onglet Signature, tu décoches tout
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022 > Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024
17 avril 2022 à 21:00
c'est fait
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
17 avril 2022 à 21:08
Ça démarre ?
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
18 avril 2022 à 17:16
Bonjour Whismeril,

Oui ça démarre et enfin... je peux détecter les lignes où des erreurs de code font planter....
Merci merci.
Le paramétrage de VS, n'est pas très simple en fait.

Petite question annexe, maintenant que je vais pouvoir corriger, comment je créé un exécutable viable ?
Dois-je faire
Générer/Publier [Nom de ton projet].exe
? Et où je trouve ensuite cet exécutable ?

Milles mercis.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
18 avril 2022 à 17:35
On vera pour l’exécutable à publier plus tard.

Reprenons l’option 2.
Y’a t il des des erreurs de compilation concernant le fait que Path n’existe pas (puisqu’on l’a renommé MonChemin), et notamment à la ligne
 Dim FichierEleves As String = Path & "Fichiers\fichiereleves.csv" 

0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
18 avril 2022 à 17:44
Oui j'ai repris ce qu etu me proposais. Il n'y a donc plus d'erreur le bin\debug n'interfère plus.
Tout fonctionne normalement ! Plus d'erreur de compilation.
Ô merveille !
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
18 avril 2022 à 17:52
Mais vois tu la publication en gardant le lien avec tes fichiers va dépendre de ce que tu as fait.
Donc il faudrait que tu expliques ce qu'il y avait.
0
sylvain_nantes Messages postés 31 Date d'inscription vendredi 4 mars 2022 Statut Membre Dernière intervention 18 avril 2022
18 avril 2022 à 17:57
Je n'ai finalement rien changé au code.
C'était visiblement VS qui :
1- ajoutait un bin\debug au chemin
2- n'enregistrait pas les modifications
0
Rejoignez-nous