我的C#项目引用了我拥有源代码的第三方DLL。我能以某种方式告诉Visual Studio该源代码的位置吗,例如,当我按下F12以在DLL中打开方法的定义时,它将打开源代码,而不是打开“ Class [from元数据]“存根代码?
Answers:
答案似乎在此MSDN文档页面的底部附近。
调试器在以下位置查找源文件:
在启动调试器的Visual Studio实例的IDE中打开的文件。
在VS实例中打开的解决方案中的文件。
在解决方案属性的“公共属性” /“调试源文件”页面中指定的目录。
模块.pdb的源信息。这可以是构建模块时源文件的位置,也可以是对源服务器的命令。
要将目录添加到解决方案的“调试源文件”页面(上面的第3步):
您可以指定网络或本地目录来搜索源文件。
在解决方案资源管理器中选择解决方案,然后从快捷菜单(即右键单击上下文菜单)中选择“属性”。
在“公共属性”节点下,选择“调试源文件”。
单击文件夹图标。可编辑的文本出现在“包含源代码的目录”列表中。
添加您要搜索的路径。
请注意,仅搜索指定的目录。您必须为要搜索的任何子目录添加条目。
因此,如果您只想调试一次特定文件而又不会弄乱您的解决方案,则只需在Visual Studio IDE中打开该文件即可;如果您需要从该文件移到其他文件,则可能还需要在Visual Studio中打开其他文件。
如果您经常发现自己需要在解决方案之外调试源文件,则可以:
一种方法是在解决方案中创建另一个项目,在其中放置DLL源,然后从主项目中,将依赖项添加为项目引用而不是程序集引用。那应该让您在调试时浏览源代码/逐步进入等等。
可能有一种更简单的方法可以执行此操作,但是我目前还不知道。