8
votes

Est-il possible de lire et d'entrer dans le code source de fichier .NET

Y a-t-il un moyen pour les personnes utilisant VS2008 pour entrer et lire le code source des bibliothèques MSDN?

Je viens d'un fond de Java où cela est possible ...


1 commentaires

Voulez-vous dire les bibliothèques .NET Framework?


5 Réponses :


4
votes

La meilleure façon que je puisse vous donner est d'utiliser le réflecteur .NET de redgate. Vous ne pouvez pas entrer dans cela, mais cela vous donnera le code source complet pour diverses classes .NET.


1 commentaires

En fait, vous pouvez déboguer avec Visual Studio et réflecteur. Y compris entrer dans, les points d'arrêt, etc ... Voir Orand. blogspot.com/2006/10/... mais la réponse que Martin a donné est plus facile dans le cas spécifique du .NET Framework.



21
votes

Oui, c'est possible. Regardez le blog suivant Post de Shawn Burke pour plus de détails:

Configuration de Visual Studio pour déboguer .NET Framework Code source

D'autre part, si vous souhaitez simplement vérifier la manière dont certaines choses sont implémentées dans la structure .NET (sans débogage), utilisez ensuite . Réflecteur net (comme mentionné par Lorenvs). Il s'agit d'un outil très utile qui peut vous aider beaucoup à comprendre le cadre .NET.


1 commentaires

Vous m'avez battu au même blog link de 30 secondes;)



1
votes

Il est possible d'utiliser la réflexion et l'ildasme pour regarder l'IL, mais je ne pense pas qu'il soit possible d'entrer dans le code pendant le débogage.


0 commentaires

2
votes

J'ai récemment fait du débogage dans VS qui incluait obtenir un code source .NET (liée OLDED) que je pouvais entrer dans et voir ce qui en fait un. Une chose que je mentionnerais, lorsque vous entrez le code source .NET, ne vous attendez pas à ce que la fenêtre de la localisation (ou les conseils de données) vous indique toujours la valeur des variables.

Par exemple, de simples variables telles que INT, LIPS, String, etc., vous pourrez obtenir la valeur de. Mais essayez d'obtenir la valeur des objets (liste <>, objets personnalisés, datatable, etc.) et vous n'obtiendrez qu'un message indiquant que le code a été optimisé et que vous ne pouvez pas voir les valeurs.

Même si vous avez la source .NET, le code compilé réel que votre joint est connecté à la version de déverrouillage avec optimisations activées. Cela signifie qu'une grande partie des données des variables et des objets est indisponible pour analyser.

juste une tête.


0 commentaires

3
votes

Mes 3 cents:

  1. Si vous avez Visual Studio 2008 SP1 ou plus tard, vous n'avez pas à installer le QFE mentionné dans le Configuration de Visual Studio à déboger .NET Framework Code source Poste de blog
  2. Autant d'un fan que je suis de réflecteur .NET, le code source est meilleur car les noms de variables locaux et les commentaires sont préservés. Les commentaires et les noms de variables appropriés peuvent aider beaucoup!
  3. Vous pouvez télécharger (presque) tout le code source .NET Framework à la fois à l'aide de NetMassownloader . Cela devient très utile lorsque vous êtes à un endroit sans accès à Internet.

1 commentaires

+1 pour NetMassownloader - À l'aide des fichiers de symboles de téléchargement et de la source, il peut également être utilisé avec Visual Studio 2005.