Impossible d’entrer dans le code source du framework .NET

J’utilise Visual Studio 2013 et ai un projet .NET 4.5.2. J’ai configuré mes parameters conformément à la page suivante:

http://referencesource.microsoft.com/setup.html

Avec cette configuration, je peux voir que tous les symboles nécessaires sont téléchargés et chargés, mais je ne peux pas entrer dans un code comme celui-ci:

var cookieContainer = new System.Net.CookieContainer(); 

Je reçois un message Source non disponible .

Je peux très bien entrer dans le code suivant:

 Console.WriteLine("test"); 

Avez-vous une idée pourquoi je peux entrer dans le code de mscorlib.dll mais ne peut pas entrer dans le code de System.dll?

    et avoir un projet .NET 4.5.2

    Le numéro de version est votre problème. Il s’agit d’un problème général lié à la source de référence. Microsoft ne la maintient pas suffisamment à jour pour fournir le code source des nouvelles versions de la structure. Et plus inquiétant, pour les mises à jour de sécurité et de stabilité. Les gars qui ont travaillé là-dessus sont bien conscients de ce problème, ils l’ont noté comme un problème dans leur présentation, mais il a toujours, et a toujours eu, le statut d’un élément // todo.

    C’est quelque chose que vous pouvez visualiser. Commencez par supprimer System.pdb de votre cache de symboles (celui de MicrosoftPublicSymbols). Puis lancez le débogage de votre programme de test, le débogueur récupérera un nouveau PDB du serveur. Utilisez Debug> Windows> Modules, cliquez avec le bouton droit de la souris sur System.dll et sélectionnez “Informations sur le chargement de symboles”. Sur ma machine qui ressemble à:

     C:\projects2\ConsoleApplication407\bin\Debug\System.pdb: Cannot find or open the PDB file. C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.pdb: Cannot find or open the PDB file. C:\Windows\System.pdb: Cannot find or open the PDB file. C:\Windows\symbols\dll\System.pdb: Cannot find or open the PDB file. C:\Windows\dll\System.pdb: Cannot find or open the PDB file. C:\temp\symbols\System.pdb\c464b02c2bf04080adcad166dc729c151\System.pdb: Cannot find or open the PDB file. C:\temp\symbols\MicrosoftPublicSymbols\System.pdb\c464b02c2bf04080adcad166dc729c151\System.pdb: Cannot find or open the PDB file. SYMSRV: C:\temp\symbols\System.pdb\C464B02C2BF04080ADCAD166DC729C151\System.pdb not found SYMSRV: http://referencesource.microsoft.com/symbols/System.pdb/C464B02C2BF04080ADCAD166DC729C151/System.pdb not found http://referencesource.microsoft.com/symbols: Symbols not found on symbol server. SYMSRV: System.pdb from http://msdl.microsoft.com/download/symbols: 96985 bytes http://msdl.microsoft.com/download/symbols: Symbols downloaded from symbol server. C:\temp\symbols\System.pdb\C464B02C2BF04080ADCAD166DC729C151\System.pdb: Symbols loaded. 

    Vous pouvez le voir chercher le PDB dans les emplacements normaux sans le trouver. Ensuite, contactez le SYMSRV. Il se rend d’abord sur http://referencesource.microsoft.com , comme il se doit, mais le serveur dit “non trouvé”. Et vous obtiendrez la copie du serveur MSDL standard, le serveur dépouillé qui ne possède pas les informations de débogage fichier + numéro de ligne nécessaires.

    Il n’y a pas de solution miracle pour cela, vous devrez rétrograder votre ordinateur à la version source de référence. Quelque chose que je ne peux pas faire avec Windows 8.1. Et ne devrait pas faire, j’utilise VS2013. Le réflecteur de Redgate est une alternative.

    J’ai créé un élément UserVoice pour cela, il nécessite beaucoup plus de votes.


    Mise à jour: la source de référence est maintenant mise à jour à la version 4.5.2 (mars 2015)

    JetBrains DotPeek (version 1.2 actuelle) a une fonctionnalité très intéressante qui vous permet non seulement de générer des pdbs, mais également de servir ces pdbs localement via un serveur intégré dans Symbol Server afin de fournir des symboles à Visual Studio lors du débogage. Évidemment, le code source est un code décompilé plutôt que la source réelle, mais il peut néanmoins s’avérer très utile pour les moments où les serveurs de symboles MS normaux ne vous fournissent pas les pdbs dont vous avez besoin.

    Vous trouverez des informations sur la fonctionnalité de serveur de symboles sur leur site Web .