【发布时间】:2010-04-12 06:41:45
【问题描述】:
我的 C# 项目引用了我拥有源代码的第三方 DLL。我能否以某种方式告诉 Visual Studio 该源代码的位置,例如,当我按 F12 打开 DLL 中的方法定义时,它将打开源代码,而不是打开“类[来自元数据]”存根代码?
【问题讨论】:
标签: visual-studio-2008 reference
我的 C# 项目引用了我拥有源代码的第三方 DLL。我能否以某种方式告诉 Visual Studio 该源代码的位置,例如,当我按 F12 打开 DLL 中的方法定义时,它将打开源代码,而不是打开“类[来自元数据]”存根代码?
【问题讨论】:
标签: visual-studio-2008 reference
如果您使用ReSharper,您可以通过转到 ReSharper / Options / External Sources 来启用它,然后将“来自符号文件的源”上移。然后在“来自符号文件的源”选项卡中,单击“高级”,您可以在其中映射源文件夹。
【讨论】:
看起来答案在this MSDN documentation page 的底部附近。
调试器在以下位置查找源文件:
在启动调试器的 Visual Studio 实例的 IDE 中打开的文件。
解决方案中在 VS 实例中打开的文件。
在解决方案属性的“通用属性”/“调试源文件”页面中指定的目录。
模块的.pdb的源信息。这可以是构建模块时源文件的位置,也可以是对源服务器的命令。
要将目录添加到解决方案的“调试源文件”页面(上面的第 3 步):
您可以指定网络或本地目录来搜索源 文件。
在解决方案资源管理器中选择解决方案,然后从快捷菜单(即右键单击上下文菜单)中选择“属性”。
在“Common Properties”节点下,选择“Debug Source Files”。
单击文件夹图标。可编辑文本出现在“包含源代码的目录”列表中。
添加您要搜索的路径。
请注意,仅搜索指定的目录。您必须添加 您要搜索的任何子目录的条目。
因此,如果您只想调试特定文件一次而不弄乱您的解决方案,只需在 Visual Studio IDE 中打开该文件即可;如果您需要从该文件进入其他文件,您可能还需要在 Visual Studio 中打开其他文件。
如果您经常发现自己需要在解决方案之外调试源文件,那么您可以:
【讨论】:
您可以执行此操作的一种方法是在您的解决方案中创建另一个项目,将 DLL 源放入其中,然后从您的主项目中,将依赖项添加为项目引用而不是程序集引用。这应该让您在调试等时浏览源代码/步入其中。
可能有更简单的方法可以做到这一点,但我目前不知道有任何方法。
【讨论】: