一年半以前,Microsoft released the source code for the .Net Framework BCL用于调试目的。这个非常有用的产品对我的调试体验产生了巨大的影响。
有人提到他们正在将源版本集成到他们的构建过程中,但这似乎已经失败了。
最新版本的.Net Framework程序集(包括修补程序和修补程序)根本没有可用的源代码。
我们可以做些什么来说服微软维持这一优秀产品,尤其是即将推出的.Net 4.0版本?
答案 0 :(得分:3)
在相关的说明中,我希望微软能够改善他们的员工脱衣舞。
在发布源代码之前,它通过一个自动化实用程序运行,该实用程序用[....]
替换Microsoft开发人员的名称。
但是,此实用程序不仅限于评论。如果一段代码恰好包含开发人员的登录名,它也会被替换,从而导致大量语法错误,这些错误会污染VS2008 SP1中的错误列表。
例如,ToolStrip.cs的第5200行是
private RelativeLocation ComparePositions(Rectangle [....], Point check) {
参数名称实际为orig
(参见反射器)。
此外,该框架的一些多汁部分根本没有发布源。
System.Data中的Odbc和OleDb类,WindowsBase中的Zip文件代码以及其他几个文件包含数百个没有源代码的空白行。
答案 1 :(得分:3)
我不相信他们非常关心它。如果您只想查看和学习代码,可以尝试.Net Reflector。但我认为你更关心调试体验。在这种情况下,我认为我们不能做很多事情。
答案 2 :(得分:1)
我们个人不能。也许有足够的同伴压力我们可能会很幸运,但除非微软内部的人决定坚持下去,否则他们会坚持他们决定给我们的东西:/
我确实听说他们在单声道组中工作得更多了。
另一方面,请阅读:
Microsoft will be applying the Community Promise patent licensing to both C# and the CLI.
......早些时候笑了笑。
答案 3 :(得分:1)
仅供参考,Microsoft已更新了唯一的.NET参考源代码,并重新承诺使用此源进行调试。有关详细信息,请参阅http://blogs.msdn.com/b/dotnet/archive/2014/02/24/a-new-look-for-net-reference-source.aspx
答案 4 :(得分:0)
作为使用Microsoft源代码的替代方法,您是否看到TestDriven.NET的调试器与Reflector集成?它基本上允许您逐步执行程序集的反汇编IL。
Jaime Cansdale在this article中概述了