【发布时间】:2011-11-17 10:55:15
【问题描述】:
我正在尝试重新调整一个非常大的解决方案的布局,该解决方案已经变得非常难以(并且很快)使用。我的计划是创建一些包含相关项目的解决方案,然后在必要时使用二进制引用链接到其他解决方案生成的库。
我们依靠 Resharper 的 Navigate to External Sources 功能使其可用,因此我们可以轻松地浏览我们从其他解决方案引用的项目的源代码。为什么 VS 不能开箱即用地做到这一点,我无法理解。
对于具有实现的类来说,这一切都非常好。但是,对于仅包含自动实现属性的 C# 接口和类,Resharper 无法浏览到源代码,并回退到粗糙的元数据查看器。
我使用了 srctool.exe,它是 MS Debugging Tools For Windows 中的 Symbol Server 工具附带的,用来浏览 .pdb 文件中列出的源代码,很明显这些接口和空(ish)类的源代码是未在 pdb 文件中引用。如果我将自动实现的属性切换为具有支持字段的属性,则源链接会出现在 pdb 中。
我猜测源被排除在外,因为没有地方可以在接口和自动实现的属性上设置断点。
不过,我想知道,如果有一些特殊的编译器选项或解决方法,我们可以采用强制 PDB 文件包含对 C# 接口源的引用。
谢谢, 标记
【问题讨论】:
-
请注意:如果您的答案包含“IoC”“DI Container”或 cabbages 之类的词,那么我不想听到它。 :)
-
您能否尝试验证 .NET 2/3.5 的相同行为?
-
@Mark out of Interest 你用什么命令通过 srctool.exe 浏览 pdb 中的源代码?, srctool your.pdb -r ?
-
@Mark 这是一个最重要的问题,我只能建议询问史蒂夫约翰逊(sosex 名声)谁应该能够给你一个想法什么是可能的。查看stevestechspot.com
-
@wal 是的,
srctool -r是命令。
标签: c# .net-4.0 debug-symbols resharper-6.0