首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >步入.Net 4.0框架源代码

步入.Net 4.0框架源代码
EN

Stack Overflow用户
提问于 2012-03-18 02:54:00
回答 4查看 1.2K关注 0票数 11

我有.Net框架v4.0.30319 SP1Rel和visual studio 2010 v10.0.40219.1 SP1Rel (数据取自关于VS中的对话框)。

http://referencesource.microsoft.com/netframework.aspx在这里提供了.Net 4.0,但不确定是哪个具体版本,也不确定它是否与我的设置兼容。我确实在一两个月前下载了源代码,但我无法进入框架源代码(无源可用消息)。我当时到处看了看,这似乎是因为VS (可能还有安装的框架二进制文件)的更新取代了源版本。

在我再次尝试下载之前,请确认一下源码现在是否与最新版本一致并兼容。如果没有,有没有替代工具(也许是第三方),可以进入源代码?

编辑:好的,我刚刚看到了这个http://social.msdn.microsoft.com/Forums/en-US/refsourceserver/thread/41388c7b-582b-4e3f-8178-3d38a3c99639,这是否表明你不能使用当前的源代码?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-18 02:57:57

为了回答第二部分,专业版的.NET Reflector允许您在调试代码时单步执行没有源代码(包括.NET框架)的程序集。它将自动反编译程序集,并为您提供对反编译代码的逐行调试支持。

最新版本的Resharper也可能提供类似的功能。

当然,在使用引用源码时,您不会得到很好的变量名和注释。

票数 4
EN

Stack Overflow用户

发布于 2012-09-15 05:20:49

在进行了所有适当的设置后,可以使用以下解决方法。解决方法本质上是查找导致dll更改的安全更新,然后将其删除。这有一个明显的缺点,那就是在您的机器上删除这些安全更新。

解决方法

调试模块确定要调试到哪个中(例如,System.Windows.Forms.dll)

  1. While
  2. ,打开Visual studio中的Modules窗口,找到Version列。如果版本不是RTM或Service pack版本,则需要执行工作流。通常,RTMRel会显示"built by: RTMRel“。而作为安全更新一部分的dll将显示"built : RTMGDR“。注意版本号(例如4.0.30319.269 built by: RTMGDR)
  3. 现在,我们希望找到创建此版本的更新。通过在support.microsoft.com/kb/上搜索dll和版本号来做到这一点。例如,我在谷歌上搜索了以下内容:site:support.microsoft.com/kb System.Windows.Forms.dll 4.0.30319.269
  4. The搜索应该会显示有关更新的信息。请注意地址栏中的KB数字。在我的例子中,地址是http://support.microsoft.com/kb/2604121,所以dll,是我们感兴趣的。dll转到控制面板->程序和功能,并点击“查看列出KB编号的已安装更新”(您可以使用右上角box).
  5. Uninstall中的搜索update.
  6. Repeat这个过程,直到http://support.microsoft.com/kb/2604121返回到它的RTMRel版本或SP版本。例如,对于System.Windows.Forms.dll,我必须删除KB2686827、KB2604121、KB2518870,然后才能将其恢复为RTMRel版本。

您需要对.NET框架中需要调试的每个动态链接库执行此操作。

完成后,在.net源代码中设置断点(例如,转到断点选项卡,选择New->Break at Function,然后输入System.Windows.Forms.Form.Form)或单步执行该dll中的某个.net方法。

票数 3
EN

Stack Overflow用户

发布于 2014-02-26 23:40:35

调试.NET框架源代码中断了很长一段时间。请参阅VisualStudio UserVoice Allow developers to step through .NET Framework sources上的相关建议。好消息:它终于被修复了!请参阅以下来自Microsoft的博客文章:

简而言之:

http://referencesource-beta.microsoft.com/

  • All

  • 用于浏览源代码的新web界面:可以直接下载http://visualstudiogallery.msdn.microsoft.com/f89b27c5-7d7b-4059-adde-7ccc709fa86e

  • Sources源代码(包括项目文件): (not compilable though)
  • There's a新的F12导航扩展:http://visualstudiogallery.msdn.microsoft.com/f89b27c5-7d7b-4059-adde-7ccc709fa86e
  • Sources始终是最新的,调试不会因补丁和更新而中断。

它目前是“测试版”。最终它将取代http://referencesource.microsoft.com/。微软还承诺增加更多程序集的源代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9752807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档