是否可以阅读并进入.NET Framework源代码

时间:2009-08-18 22:09:01

标签: .net visual-studio-2008

使用VS2008的人有没有办法介入并阅读MSDN库的源代码?

我来自Java背景,这是可能的......

5 个答案:

答案 0 :(得分:21)

是的,这是可能的。有关详细信息,请查看Shawn Burke的以下博客文章:

Configuring Visual Studio to Debug .NET Framework Source Code

另一方面,如果您只想查看.NET框架中某些内容的实现方式(无需调试),请使用.NET Reflector(如LorenVS所述)。这是一个非常有用的工具,可以帮助您理解.NET框架。

答案 1 :(得分:4)

我能给你的最好方法是使用RedGate的.NET反射器。你不能介入它,但它会为你提供各种.NET类的完整源代码。

答案 2 :(得分:3)

我的3美分:

  1. 如果您使用的是Visual Studio 2008 SP1或更高版本,则无需安装Configuring Visual Studio to Debug .NET Framework Source Code博文中提到的QFE
  2. 尽管我是.NET Reflector的粉丝,但源代码更好,因为保留了本地变量名称和注释。评论和适当的变量名称可以帮助很多!
  3. 您可以使用NetMassDownloader一次性下载(几乎)所有.NET Framework源代码。当你在没有互联网访问的地方时,这变得非常有用。

答案 3 :(得分:2)

我最近在VS中进行了一些调试,其中包括获取一些.NET源代码(OleDB相关),我可以介入其中,看看会发生什么。有一件事我会提到,当您逐步完成.NET源代码时,不要指望本地窗口(或数据提示)始终显示变量的值。

例如,像int,long,string等简单变量,你将能够获得值。但是尝试获取对象的值(List<>,自定义对象,DataTable等),除了一条消息,说明代码已经过优化而你无法看到值。

即使您拥有.NET源代码,您附加的实际编译代码也是启用了优化的发布版本。这意味着变量和对象的大部分数据无法分析。

只是单挑。

答案 4 :(得分:1)

可以使用反射和ILDASM查看IL,但我不认为在调试时可以进入代码。