我如何可以进入微软的.NET Framework的源$ C ​​$ C?微软、NET、Framework

2023-09-03 12:51:20 作者:随缘

我想踏入微软的源$ C ​​$ C,但不能。

I'd like to step into Microsoft's source code but cannot.

我遵循的 配置Visual Studio进行调试 的说明。特别是,我禁用启用仅我的code和已启用启用.NET Framework的源步。最后,设置源符号位置为http://referencesource.microsoft.com/symbols。

I followed the instructions at Configuring Visual Studio for Debugging. In particular, I disabled "Enable Just My Code" and Enabled "Enabled .NET Framework source stepping". Finally, set the source symbol location to "http://referencesource.microsoft.com/symbols".

然而,当我双击一个框架项目在栈中,我得到一些汇编code,不是C#code。另外,去源$ C ​​$ C菜单项将被禁用。

However, when I double click on a frame item on the stack, I get some assembler code, not C# code. Also the "go to source code" menu item is disabled.

我使用视觉 &工作室NBSP; 2008年 SP1和.NET 3.5 SP1。我创建了一个全新的文件夹中下载的东西。我得到一些PDB文件,但没有C#文件。

I am using Visual Studio 2008 SP1 and .NET 3.5 SP1. I created a brand new folder for the downloaded stuff. I get some pdb files but no C# file.

我看着的 配置Visual Studio来调试.NET Framework的源$ C ​​$ C 的和已安装的路径。这没有什么区别。我试图WPF的来源$ C ​​$ C。 PDB的下载,所以它看起来像微软支持的。

I looked at Configuring Visual Studio to Debug .NET Framework Source Code and installed the path. It makes no difference. I am trying to the source code of WPF. The pdb are downloaded so it looks like Microsoft supports those.

有一个技巧来解决这个问题?

Is there a trick to fix this?

推荐答案

据我观察.NET框架的参考源步进工作得很好的引导你找到无处不在。随着VS SP1,你甚至不用到路径添加到引用来源服务器。

As far as I have observed .NET framework stepping with the reference source works just fine with the guides you find everywhere. With VS SP1 you don't even have to add the path to the reference source server.

但问题是不匹配的版本。该框架组件与.NET 3.5 SP1进行了更新,Vista SP2的,Windows 7中,...但他们的参考源PDBS没有提供。该相应的参考源论坛似乎很死了。我记得读,它把他们多一点的时间来推出初期的符号,因为他们建立了一个基础设施,使他们能够迅速推向新的版本。要么没有真正发生,或者不使用它。

But the problem are mismatched versions. The framework assemblies were updated with .NET 3.5 SP1, Vista SP2, Windows 7, ... but their reference source PDBs weren't made available. The corresponding reference source forum seems quite dead, too. I remember reading that it took them a bit longer to push out the initial symbols because they built an infrastructure that would allow them to push new versions quickly. Either that didn't really happen or they don't use it.