web-dev-qa-db-fra.com

Déboguer la source .NET Core (Visual Studio 2019)

J'utilise Visual Studio 2019 et l'application Web .NET Core 3. Je voudrais déboguer le code source de .NET Core, donc quand une erreur se produit, je peux plonger dans le code et l'examiner plus en détail. Comme je n'ai pas pu trouver une description exacte de la façon de le faire (même sur le site de documentation de Microsoft), je vais essayer de résumer ici ce que je sais jusqu'à présent.

J'ai les options suivantes dans Visual Studio:

      1. Activer uniquement mon code
      2. Activer le pas de source du framework .NET
      3. Activer la prise en charge du serveur source
      4. Activer la prise en charge du lien source

Les deux premières options s'excluent mutuellement. Je suppose que je devrais sélectionner la deuxième option, bien que je ne comprenne pas la météo ".NET Framework" dans cette option inclut .NET Core?

Maintenant que .NET Core est open source et disponible sur GitHub, je ne comprends pas l'option 3ème vs 4ème. Le 3ème devrait me permettre d'extraire la source des serveurs de symboles Microsoft (les symboles incluent-ils la source?) Tandis que le 4ème devrait me permettre d'extraire la source de GitHub? Ai-je besoin de l'un ou de l'autre?

Tout d'abord, j'ai mis un point d'arrêt sur CreateHostBuilder dans la méthode Main, sélectionnez la 3e option et exécutez l'application. Une fois le point d'arrêt atteint, je continue à entrer dans le code (F11) jusqu'à ce qu'un message s'affiche indiquant que "GenericHostBuilderExtensions.cs est introuvable". Il me propose de le parcourir, mais je ne sais pas où le trouver.

Essayons encore une fois, en sélectionnant cette fois la 4ème option (et désélectionner la 3ème). Maintenant, une fois le point d'arrêt atteint, VS me propose de télécharger le fichier mentionné précédemment par Source Link. A accepter, mais le résultat est le message "Erreur de lien source: Azure DevOps: l'authentification a échoué pour tous les comptes. Utilisez" Fichier -> Paramètres du compte ... "pour ajouter un nouveau compte ou actualiser les informations d'identification. Eh bien, je suis connecté avec mon compte Microsoft, que dois-je faire d'autre?

Je le répète à nouveau, cette fois en sélectionnant les 3e et 4e options. Le résultat est le même.

Maintenant, je sélectionne une autre option de lien source: "Revenir au gestionnaire d'informations d'identification Git ..." et je recommence. Même résultat.

Bien sûr, j'ai beaucoup cherché sur Google et j'ai passé pas mal de temps à essayer de trouver une solution, mais il me manque quelque chose. J'apprécierais de l'aide sur ce que font exactement les options mentionnées et comment déboguer en entrant dans le code source .NET Core.

4
Marko

J'ai fait toutes les étapes mais j'ai des problèmes pour déboguer du code asynchrone et il n'y a pas de réponses sur le Web.

Par exemple;

 var user = await _userManager.FindByEmailAsync(request.Email);

Lorsque vous appuyez sur Step Into lorsque le débogueur est sur la ligne, VS m'envoie à AsyncMethodBuilder.cs -> Future.cs -> TaskAwait.cs. Mais je veux entrer dans FindByEmailAsync.

Voici une question connexe Comment déboguer la méthode async de base asp.net en utilisant Source Link?

0