gpt4 book ai didi

c# - 无法进入 .NET Framework 源代码

转载 作者:IT王子 更新时间:2023-10-29 04:18:59 25 4
gpt4 key购买 nike

我正在使用 Visual Studio 2013 并有一个 .NET 4.5.2 项目。我已根据以下页面设置我的设置:

http://referencesource.microsoft.com/setup.html

通过此设置,我可以看到所有必要的符号都已下载并加载,但我无法进入如下代码:

var cookieContainer = new System.Net.CookieContainer();

我收到一条来源不可用消息。

我可以单步执行以下代码:

Console.WriteLine("test");

你知道为什么我可以单步执行 mscorlib.dll 的代码但不能单步执行 System.dll 的代码吗?

最佳答案

and have a .NET 4.5.2 project

版本号是你的问题。这是引用源的一个普遍问题,微软没有很好地更新它来为新的框架版本提供源。更麻烦的是,安全和稳定性更新。从事此工作的人员很清楚这个问题,他们在他们的演示文稿中指出这是一个问题,但它目前并且一直处于//待办事项的状态。

这是您可以想象的东西,首先从您的符号缓存(MicrosoftPublicSymbols 中的那个)中删除 System.pdb。然后开始调试您的测试程序,调试器将从服务器检索一个新的 PDB。使用“调试”>“Windows”>“模块”,右键单击 System.dll 并选择“符号加载信息”。在我的机器上看起来像:

C:\projects2\ConsoleApplication407\bin\Debug\System.pdb: Cannot find or open the PDB file.
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.pdb: Cannot find or open the PDB file.
C:\Windows\System.pdb: Cannot find or open the PDB file.
C:\Windows\symbols\dll\System.pdb: Cannot find or open the PDB file.
C:\Windows\dll\System.pdb: Cannot find or open the PDB file.
C:\temp\symbols\System.pdb\c464b02c2bf04080adcad166dc729c151\System.pdb: Cannot find or open the PDB file.
C:\temp\symbols\MicrosoftPublicSymbols\System.pdb\c464b02c2bf04080adcad166dc729c151\System.pdb: Cannot find or open the PDB file.
SYMSRV: C:\temp\symbols\System.pdb\C464B02C2BF04080ADCAD166DC729C151\System.pdb not found
SYMSRV: http://referencesource.microsoft.com/symbols/System.pdb/C464B02C2BF04080ADCAD166DC729C151/System.pdb not found
http://referencesource.microsoft.com/symbols: Symbols not found on symbol server.
SYMSRV: System.pdb from http://msdl.microsoft.com/download/symbols: 96985 bytes
http://msdl.microsoft.com/download/symbols: Symbols downloaded from symbol server.
C:\temp\symbols\System.pdb\C464B02C2BF04080ADCAD166DC729C151\System.pdb: Symbols loaded.

您可以看到它在正常位置搜索 PDB,但没有找到。然后联系 SYMSRV。它首先转到 http://referencesource.microsoft.com,它应该这样做,但该服务器显示“未找到”。您将从常规 msdl 服务器获取副本,即没有必要文件 + 行号调试信息的剥离服务器。

对此没有彻底的修复,您必须再次将您的机器降级到引用源版本。我无法使用 Windows 8.1 做的事情。而且不应该做,我用的是VS2013。 Redgate 的 Reflector 是一个替代方案。

我创建了一个 UserVoice item为此,它需要更多的选票。


更新:引用源现已更新至 4.5.2(2015 年 3 月)

关于c# - 无法进入 .NET Framework 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27655014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com