.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 ...
随机推荐
- mongo 记得开启验证 auth = true
dbpath=/mnt/mongodb/data/logpath=/usr/local/mongodb/log/mongodb.logauth = trueport=27017logappend=1f ...
- BFS-广度优先遍历
#include <iostream> #include <queue> using namespace std; /* 5 4 0 0 1 0 0 0 0 0 0 0 1 0 ...
- VS2017安装PCL1.8.1
很多使用在windows环境下编译和使用PCL,这样让我想试试,所以就迫不得已的放弃使用Ubuntu环境,但是我还是建议使用Ubuntu系统,毕竟在Ubuntu下几条命令就搞定了,为了迎合在windo ...
- linux 常见错误
yum.pid 已被锁定 rm -rf /var/run/yum.pid
- svn出现skips remain conficted,不能更新代码问题
出现: skips remain conficted One or more files are in a conflicted state 然后commit的时候出现,很多都已经deleted,但是 ...
- Enums and Lookup Tables with EF Code First
With EntityFramework’s support for enums, there is no longer any need to include lookup tables in th ...
- 实验二 C#程序设计 总结
通过本次实验,我按照书上的例子,一个例子一个例子地写下来,前七点感觉和C语言差不多,除了语法稍稍不同外,大体上是一样的.到了第八点,对异常的处理,另我十分印象深刻.因为我做例3.21的时候,按照例子要 ...
- VIM中一些按键的作用:
表示范围的命令: l: 表示一个字符,可以于操作符组合使用: aw :表示一个单词: 不会count 空格: 前面可以加数字的: iw: 选中一些单词, 会包括空格: 前面可以加数字: ap: 表 ...
- Spring JDBC ResultSetExtractor接口示例
org.springframework.jdbc.core.ResultSetExtractor接口是JdbcTemplate的查询方法使用的回调接口.此接口的实现执行从ResultSet提取结果的实 ...
- QA:无法为具有固定名称“MySql.Data.MySqlClient”...
Question: 无法为具有固定名称“MySql.Data.MySqlClient”的 ADO.NET 提供程序加载在应用程序配置文件中注册的实体框架提供程序类型“MySql.Data.MySqlC ...