• 在Visual Studio 2008中使用Microsoft Reference源代码服务 朱燚:


    转自http://blog.joycode.com/zhanbos/archive/2008/01/07/113466.aspx

    先前相关:微软将发布.NET框架库的大量源代码

    在上次Blog的评论中,有人称赞道:确实,调试方便了不是一点点;这真是太cool了;很好,期待很久了!不过也有这样的评论:买一张MSDN就可以了。实际上,MSDN中并没有包含将发布的.NET Framework的源代码。

    这项服务还在最后的调试阶段,很快就会对外发布。我在这个周末通过Visual Studio 2008使用了这一服务。对于.NET程序员来说,这真的是非常有助于调试,也提供了软件开发时候很有价值的参考。

    为了在Visual Studio 2008中使用此服务,有以下几个要点:

    1. 在Debugging | General 选项中,不要选Enable Just My Code (Managed Only).
    2. 在Debugging | General 选项中,选择Enable source server support.
    3. 在Debugging | Symbols 选项中,添加Microsoft Reference源代码服务的URL。 正式的URL很快会对外发布。

    首次使用时需要接受2个License:一个是symbol,另外一个是Source.

    这样在调试程序的时候就可以看到.NET Framework的源代码,也可以在调试时跟进(Step into)。

    比如说WinForm的Button.cs就被下载到\src\source\.net\8.0\DEVDIV\depot\DevDiv\releases\whidbey\REDBITS\ndp\fx\src\WinForms\Managed\System\WinForms\Button.cs\1\Button.cs。从文件夹的结构可以看到,.NET框架3.5下的WinForm代码实质上还是Whidbey即.NET 2.0。但的确有了一些更新。REDBITS下是.NET 3.5发布时候的代码。

    即使将Winform的项目的Target Framework改成2.0或者3.0,我们一样得到上述的Button.cs. 这是因为REDBITS在安装时取代了早先2.0的程序集。

    在WPF下的Button.cs被下载到\src\source\.net\8.0\WIN_WINDOWS\lh_tools_devdiv_wpf\Windows\wcp\Framework\System\Windows\Controls\Button.cs\1\Button.cs。虽然现在WPF属于DevDiv的一部分了,从这个文件夹的结构可以看到以前WPF是隶属于Windows的。

    在代码的格式上,您也一定能够看出DevDiv和Windows的区别。

    除了在文件中添加了几行版权声明:

    // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
    // Copyright (c) Microsoft Corporation. All rights reserved.

    您看到的代码与微软内部能够看到的代码是完全相同的。那些代码中的注释,还有对private或者internal members的说明,都是在此之前无法从MSDN的文档中得到的信息。

    当然没有任何代码是十全十美的。我已经注意到标有HACK HACK HACK注释的代码了。

    阅读代码对程序员而言是一件有趣的活动。随着Microsoft Reference源代码服务的推出,我们有更多的阅读材料了!

    发表于 2008年1月7日 10:31 - (阅读:1662;评论:15)

  • 相关阅读:
    objective c 中基本类型的操作
    [转载]Server.MapPath和Request.MapPath()的用法
    [转载]mstsc远程报:这可能是由于CredSSP 加密Oracle修正的两种完美解决方法
    [转载]忘记token怎么加入k8s集群
    ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded; 的解决办法
    [转载]AutoMapper 9.0的改造
    [转载]k8s注册节点提示Docker SystemdCheck]: detected cgroupfs" as the Docker cgroup dr iver. The r ecommended dr fiver is" systemd"
    [转载]Linux的Vi命令详解
    [转载]查看虚拟机里的Centos7的IP
    [转载]centos关闭swap分区
  • 原文地址:https://www.cnblogs.com/yizhu2000/p/1038071.html
Copyright © 2020-2023  润新知