J'exécute mon application dans VS2012 et j'obtiens une erreur d'exécution;
Quand je regarde dans "l'emplacement d'origine", je vois mscorlib.dll, mais pas mscorlib.pdb.
Pourquoi cela se produit-il et comment puis-je résoudre le problème?
Aller aux outils, Options, Débogage, Général, Activer juste mon code
Cela empêchera le débogueur d'essayer de se lancer sur un assembly .NET Framework interne.
Allez dans Outils, Options, Débogage, Symboles et définissez un emplacement de cache. Cliquez ensuite sur load dans ce qui précède et il récupérera les symboles nécessaires pour vous et les stockera à l'emplacement de cache que vous avez fourni.
Les outils de compilation de Microsoft créent des symboles dans des fichiers séparés avec une extension .pdb (base de données de programmes). Cela leur permet de créer des symboles détachés pour les fichiers binaires de publication. Avec un serveur de symboles, votre IDE peut extraire le fichier de symboles correspondant à la version spécifique de DLL pendant le débogage. Vous pouvez également configurer ce système pour vos propres fichiers binaires de produit, ce qui peut s'avérer très utile pour le débogage post-mortem de tout blocage sur les ordinateurs des utilisateurs finaux.
Voir Documentation de Microsoft pour plus de détails sur l'utilisation de leurs symboles publics.
J'ai eu ce problème lorsque j'utilisais une variable statique, dont la valeur est affectée par une méthode statique.
Donc, chaque fois que j'ai lancé l'application, cette ligne de code a jeté une exception. Si vous placez un point de débogage sur ce point (comme je l’ai fait), vous remarquerez l’exception levée.
Cela m'est arrivé pour une autre raison: j'avais référencé une ancienne version de NLog (2.0) et devais plutôt référencer la version 4.0.
Ce fil est ancien, mais si vous avez atterri ici comme moi et qu'aucune des solutions ci-dessus ne fonctionnait pour vous, voici comment j'ai résolu cette impasse: Onglet "Application" de la fenêtre des propriétés. Si c'est le cas, essayez de revenir au nom d'origine et de voir si l'exception disparaît . La raison en est peut-être que le nouveau nom ne correspond pas à "AssemblyTitle" dans le fichier "AssemblyInfo.cs".
Dans une application de console VB, dans mon cas, rien de ce qui précède.
Je fais juste un calcul de chaîne dans les déclarations de Dim avant mes sous-marins.
Le code incriminé:
Dim FylPrefix $ = Fyl.Substring (0, Fyl.LastIndexOf ("."))
Déplacer ce calcul dans le sous-ordinateur était nécessaire pour le réparer! GERONIMO !!