.NET Framework 4.0源代码
本文将向你展示如何配置Visual Studio 2010逐语句执行.NET Framework 4.0源代码。
为啥?
因为很酷。
因为能帮助调试。
你不仅能看到源代码而且能逐语句执行。
因为和 Reflector不同, 你可以获得代码以及原始的注释和变量名称!
第一步:下载源代码
地址:http://referencesource.microsoft.com/netframework.aspx
下载产品名称(Product Name)为.NET,版本(Version)为4的记录,有175MB。

第二步:安装源代码
安装 “Net_4.msi”
我将它安装到: “D:\RefSrc\”
安装source和Symbols大概需要1GB的空间 (你是否比较兴奋?)

第三步:安装 Visual Studio 2010
配置Visual Studio 2010:
1. 打开 Visual Studio 2010
2. 从工具(Tools)菜单, 选择选项(Options).
3. 在选项(Options)的对话框中,打开 调试(Debugging)节点并选择 常规(General)
- 取消 "启用仅我的代码(仅限托管)" "Enable Just My Code (Managed only)"
-选中 ”启用源服务器支持" "Enable source server support"
- 取消 "要求源文件与原始版本完全匹配 " "Require source files to exactly match the original version"
- 取消 "逐过程执行属性和运算符(仅限托管) " "Step over properties and operators (Managed only)”

4. 选择调试(Debugging)下面的符号(Symbols)
在符号文件位置框中,添加下载的符号位置:
“D:\RefSrc\Symbols”
注意:添加符号路径请点击文件夹图标
符号缓存目录中输入:
“D:\RefSrc\Symbols\Cache”

现在你可以按F11(逐语句).NET 源代码了。
故障排除
如果你没有看到符号,试着如下操作:
- 确认是在.NET Framework 4.0下面调试你的程序。

- 确认不是安装在\Program Files\下面,如果你已经安装在这里,你可以以管理员身份运行Visual Studion 2010或者更换缓存目录换成其他可写的目录。
- 运行时,右键调用堆栈,有一些变灰的.NET功能,选择 ”加载符号从"Load Symbols From” ”符号路径" "Symbol Path”.

- 如果你遇到"No Source Available” , 试着点击“Browse to Find Source” 并在源码目录中找到你需要的文件。也许你可能使用文件搜索找到它。

最好,你可以在http://referencesource.microsoft.com/找到更多信息。
源码:在线阅读http://referencesource.microsoft.com/#mscorlib/system/collections/arraylist.cs
.NET Framework 4.0源代码的更多相关文章
- 编译器错误消息: CS0016: 未能写入输出文件“c:/Windows/Microsoft.NET/Framework/v2.0.50727/....dll”--“拒绝访问。
错误如下: “/”应用程序中的服务器错误. 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误消息: CS0016: 未能写入 ...
- Entity Framework 5.0.0 Function Import 以及 ODP. NET Implicit REF CURSOR Binding使用简介
源代码 概要: 1,说明如何使用Entity Framework中的function import功能. 2,说明如何使用ODP.NET的隐式REF CURSOR绑定(implicit REF CUR ...
- ASP.NET Core 2.0 源代码
ASP.NET Core 2.0 源代码 在Visual Studio 2017中可以通过符号以及源链接,非常方便对 ASP.NET Core 2.0中源代码进行调试.在这篇文章中,我们将重点介绍如何 ...
- 开发 ASP.NET vNext 续篇:云优化的概念、Entity Framework 7.0、简单吞吐量压力测试
继续上一篇<开发 ASP.NET vNext 初步总结(使用Visual Studio 2014 CTP1)>之后, 关于云优化和版本控制: 我本想做一下MAC和LINUX的self-ho ...
- [EF2]Sneak Preview: Persistence Ignorance and POCO in Entity Framework 4.0
http://blogs.msdn.com/b/adonet/archive/2009/05/11/sneak-preview-persistence-ignorance-and-poco-in-en ...
- Windows7安装 .net framework 4.0
1.首先下载安装包.net framework 4.0点击下载即可 2.安装,双击下载好的安装包
- ".NET Compact Framework v2.0 could not be found."
参考: http://blog.csdn.net/godcyx/article/details/7348431 问题原因: That's a known issue where VS can't di ...
- [已解决]:调用 LoadLibraryEx 失败,在 ISAPI 筛选器 "c:\Windows\Microsoft.NET\Framework\v4.0.30319\\aspnet_filter.
现象:我的是 win7, iis7, 64bit, 打开网站错误如下: 错误摘要 HTTP 错误 500.0 - Internal Server Error 调用 LoadLibraryEx 失败,在 ...
- You may receive an exception when you browse a .NET Framework 2.0 ASP.NET Web application
SYMPTOMS When you browse a Microsoft .NET Framework 2.0 ASP.NET Web application, you may receive one ...
随机推荐
- 百度地图Api进阶教程-地图鼠标左右键操作实例和鼠标样式6.html
<!DOCTYPE html> <html> <head> <meta name="viewport" content="ini ...
- jQuery(十一):jQuery的事件
一.jQuery事件的分类 jQuery事件是对JavaScript事件的封装,常用事件分类如下: 1.基础事件 window事件. 鼠标事件. 键盘事件. 表单事件. 2.复合事件是多个事件的组合 ...
- Entity Framework应用:EntityFramework DataBase First模式
在这篇文章中讲解如何使用EF的DbFirst模式实现数据的增删改查 一.新建控制台应用程序,然后右键->添加新建项,选择数据里面的实体数据模型: 然后点击添加 二.选择来自数据库的EF设计器,并 ...
- 制作nodejs项目镜像,实现docker下的快速部署
前言 前面的文章<centos7+ docker1.12 实践部署docker及配置direct_lvm>中,已经实践了如何在centos7下安装,配置docker, 所以接下来就打算去制 ...
- [zhuan]《MEF程序设计指南》博文汇总
http://www.cnblogs.com/beniao/archive/2010/08/11/1797537.html 在MEF之前,人们已经提出了许多依赖注入框架来解决应用的扩展性问题,比如OS ...
- How to revert your file&folder by "FOUND.000"
当你在硬盘分区间复制很多文件时,当你使用下载软件时,当你用Word写作时,如果忽然遇见停电.Windows失去响应或者系统自动重新启动,在看着屏幕一黑的瞬间你会有何感受?只能希望在重新启动以后重要的文 ...
- 关于Unity中的刚体和碰撞器的相关用法(二)
在关于Unity中的刚体和碰撞器的相关用法(一)的基础上 有一个plane平面,一个ball球体,都挂了碰撞器,ball挂了刚体Rigidbody,写了一个脚本ball挂载在球体上,球体从空中落下装机 ...
- Opencv-Python:图像尺寸、图像的读取、显示、保存与复制
Opencv-Python:图像尺寸.图像的读取.显示.保存与复制 原创 2017年11月23日 21:30:49 4440 在使用opencv的方法时,首先必须导入opencv包.新的opencv导 ...
- Linux中几个与文档相关的命令
一.介绍 本文将介绍几个与文档相关的命令 软件环境: 物理机 Windows 8.0 虚拟机 VMware Workstation 12 Linux系统 CentOS 7.3 二.命令cat 命令ca ...
- vi 打开文件,行末尾有^M
原因: Windows下的文本文件的每一行结尾,都有一个回车符('\n')和一个换行符('\r') Linux下的文本文件的每一行结尾,只有一个回车符('\n') Mac下的文本文件的每一行结尾,只有 ...