Mon projet C# fait référence à une DLL d'un tiers dont je possède le code source. Puis-je d'une manière ou d'une autre indiquer à Visual Studio l'emplacement de ce code source, de sorte que, par exemple, lorsque j'appuie sur F12 pour ouvrir la définition d'une méthode dans la DLL, cela ouvrira le code source, au lieu d'ouvrir le stub code "Class [from metadata]" ?
Réponses
Trop de publicités?Si vous utilisez ReSharper Pour l'activer, il suffit d'aller dans ReSharper / Options / External Sources, et de déplacer "Sources from symbol files". Ensuite, dans l'onglet "Sources from symbol files", cliquez sur "Advanced" et là vous pouvez mapper les dossiers sources.
On dirait que la réponse est près du bas de la page de cette page de documentation msdn .
Le débogueur recherche les fichiers sources dans les emplacements suivants :
1. Files that are open in the IDE of the Visual Studio instance that launched the debugger. 2. Files in the solution that is open in the VS instance. 3. Directories that are specified in the "Common Properties" / "Debug Source Files" page in the properties of the solution. 4. The source information of the .pdb of the module. This can be the location of the source file when the module was built, or it can be a command to a source server.
Pour ajouter un répertoire à la page Debug Source Files de la solution (étape 3. ci-dessus) :
Vous pouvez spécifier un réseau ou des répertoires locaux pour rechercher les fichiers sources. source.
1. Select the solution in Solution Explorer and then choose "Properties" from the shortcut menu (i.e. right-click context menu). 2. Under the "Common Properties" node, choose "Debug Source Files". 3. Click the folder icon. Editable text appears in the "Directories containing source code" list. 4. Add the path that you want to search.
Notez que seul le répertoire spécifié est recherché. Vous devez ajouter pour tous les sous-répertoires dans lesquels vous souhaitez effectuer une recherche.
Ainsi, si vous voulez seulement déboguer un fichier spécifique une fois sans encombrer votre solution, ouvrez simplement ce fichier dans l'IDE VS ; si vous devez passer de ce fichier à d'autres, vous devrez probablement avoir les autres fichiers ouverts dans VS également.
Si vous avez souvent besoin de déboguer des fichiers sources en dehors de votre solution, vous pouvez soit.. :
- Ajoutez les fichiers sources à l'un de vos projets existants dans la solution, ou créez un nouveau projet dans la solution pour accueillir les fichiers sources. Cela va encombrer votre solution/projet, mais comme il sera enregistré dans le contrôle des sources, tous les membres de l'équipe pourront automatiquement déboguer dans les fichiers sources.
- Ajoutez les répertoires contenant le code source aux "Debug Source Files" de la solution. Comme ce changement n'est pas vérifié dans le contrôle de la source, chaque membre de l'équipe qui veut déboguer les fichiers source devra le faire et ajouter ses chemins locaux. De plus, si vous obtenez le code de la solution sur une autre machine, vous devrez vous rappeler d'effectuer cette étape à nouveau.
Une façon de procéder serait de créer un autre projet dans votre solution, d'y placer la source de la DLL, puis, à partir de votre projet principal, d'ajouter la dépendance comme référence de projet au lieu d'une référence d'assemblage. Cela devrait vous permettre de parcourir la source / d'y accéder pendant le débogage, etc.
Il existe peut-être un moyen plus simple de le faire, mais je n'en connais aucun pour le moment.