Dans Visual Studio 2015 et le développement .NET Core, nous pourrions déboguer les packages de nuget en récupérant le code source d’une source (par exemple, GitHub) sur un disque local, en ajoutant le chemin source au code source téléchargé dans global.json et en référant le package de nuget notre projet. Cela a pour effet que la référence aux projets du code source téléchargé soit automatiquement visible dans la solution actuelle et permet ainsi de déboguer facilement (Pour en savoir plus sur cette fonctionnalité, consultez dans cet article ).
Est-ce que quelqu'un sait comment faire la même chose avec Visual Studio 2017? Depuis que le global.json est parti, je ne trouve aucune solution à cela.
Je vois que cela est devenu une question populaire, cependant, MS est (comme pour la plupart du temps dans Visual Studio) absent dans les demandes qui peuvent réellement améliorer leur produit.
Il y a quelques articles sur l'utilisation de la bibliothèque de références de Microsoft, mais cela ne s'applique pas à tous les projets et vous allez déboguer des bits de version optimisés, ce qui limite les capacités de surveillance et d'étape. Je pense également que cette façon de procéder ralentit encore plus le ralentissement de Visual Studio. Cette façon de faire est décrite dans ce post .
Cependant, récemment, j'ai trouvé un moyen de contourner ce problème. Ce n'est pas toujours stable, mais vous pouvez ajouter le projet correspondant à votre projet en tant que référence de projet.
Mais voici les étapes que j'ai faites qui fonctionnent principalement:
Construire et déboguer, dans votre fenêtre de sortie, vérifiez que l’Assembly situé dans le dossier de sortie de votre projet est utilisé. Si c'est le cas, frappez simplement les points d'arrêt dans les projets référencés et vous disposerez d'une fonctionnalité de débogage complète.
C'est un peu d'essayer et de ne pas réussir à faire ce travail, mais ça marche finalement.
Il est possible de créer des conditions sur les références de projet pour s'assurer qu'elles ne sont pas intégrées, par exemple. Cependant, sachez que pour changer de configuration, vous devez recharger votre solution APRÈS le changement!
Je lutte avec cela depuis longtemps. Voici le moyen le plus simple que j'ai trouvé qui fonctionne de manière répétée:
Créez une source de nuget locale:
Placez le fichier .nuget que vous venez de créer dans C:\Nuget (par exemple)
Dans Visual Studio, sélectionnez Outils/Options/Gestionnaire de paquets Nuget/Sources de paquet
Appuyez sur l'icône verte (+). Ajoutez le chemin d'accès au package de nuget local que vous avez créé ci-dessus (C:\Nuget) et déplacez la source du package en haut de la liste.
Dans votre solution, pour chaque projet, supprimez la référence précédente au package de nuget externe et ajoutez le nouveau package de nuget à partir de votre source de nuget locale.
Commencez le débogage et vous devriez pouvoir entrer dans le code du paquet Nuget.
Je suis en mesure de définir un point d'arrêt dans le code source à partir duquel je construis le package de nuget et de le faire rompre lorsque j'exécute le code.
Toutes les étapes ci-dessus sont un peu fidèles et vous devrez peut-être y jouer plusieurs fois pour le faire fonctionner.
Faites-moi savoir dans les commentaires si cela fonctionne pour vous. Et si oui, j'apprécierais un vote positif! :)