Visual Studio - 附加源代码以引用

Joe*_*ley 72 reference visual-studio-2008

我的C#项目引用了第三方DLL,我有源代码.我可以以某种方式告诉Visual Studio该源代码的位置,例如,当我按下F12打开DLL中方法的定义时,它将打开源代码,而不是打开"类[来自元数据]"存根代码?

小智 27

如果使用ReSharper,可以通过转到ReSharper/Options/External Sources启用它,然后向上移动"来自符号文件的源".然后在"符号文件来源"选项卡中,单击"高级",您可以在那里映射源文件夹.

  • 该对话框的"目标文件夹"是什么?我只有一个DLL和一个我希望附加用于导航目的的文件夹. (15认同)

dea*_*dog 23

看起来答案就在这个MSDN文档页面的底部附近.

调试器在以下位置查找源文件:

  1. 在启动调试器的Visual Studio实例的IDE中打开的文件.

  2. VS实例中打开的解决方案中的文件.

  3. 在解决方案属性的"公共属性"/"调试源文件"页面中指定的目录.

  4. 模块的.pdb的源信息.这可以是构建模块时源文件的位置,也可以是源服务器的命令.

要将目录添加到解决方案的"调试源文件"页面(上面的步骤3):

您可以指定网络或本地目录来搜索源文件.

  1. 在解决方案资源管理器中选择解决方案,然后从快捷菜单中选择"属性"(即右键单击上下文菜单).

  2. 在"公共属性"节点下,选择"调试源文件".

  3. 单击文件夹图标.可编辑文本显示在"包含源代码的目录"列表中.

  4. 添加要搜索的路径.

请注意,仅搜索指定的目录.您必须为要搜索的任何子目录添加条目.

因此,如果您只想调试特定文件一次而不会使解决方案混乱,只需在Visual Studio IDE中打开该文件即可; 如果您需要从该文件转到其他文件,您可能还需要在Visual Studio中打开其他文件.

如果您经常发现自己需要在解决方案之外调试源文件,那么您可以:

  1. 将源文件添加到解决方案中的一个现有项目,或在解决方案中创建一个新项目以容纳源文件.这将使您的解决方案/项目变得混乱,但由于它将被检入源代码管理,所有团队成员将自动调试到源文件.
  2. 将包含源代码的目录添加到解决方案的"调试源文件"中.由于此更改未检入源代码管理,因此每个要调试源文件的团队成员都需要执行此操作并添加其本地路径.此外,如果您在另一台计算机上获得解决方案代码,则需要记住再次执行此步骤.

  • 不幸的是,这只有在你调试*使用程序集的运行程序时才有效.Joe正在寻找的是一种在IDE中进行代码导航(例如查找定义,用法等)而无需运行代码的方法.如果ReSharper解决了这个问题,那很好.我希望更新版本的Visual Studio也具备内置功能.但我找不到它.有谁知道? (4认同)
  • Resharper 是我能找到的唯一方法。我很惊讶 Visual Studio 2015 Enterprise(如此昂贵的软件)不支持如此简单的功能,而这恰好是“企业”级 IDE(例如 Eclipse,一个免费和开源的软件。 (2认同)

tza*_*man 9

您可以这样做的一种方法是在解决方案中创建另一个项目,将DLL源放在那里,然后从主项目中添加依赖项作为项目引用而不是程序集引用.这应该让你在调试等时浏览源/步骤.

可能有一种更简单的方法,但目前我还没有意识到.

  • 它使解决方案变得混乱,这意味着我自己正在编译第三方DLL,感觉有点奇怪/慢.我希望Visual Studio在引用JAR文件时具有相当于Eclipse的"附加源"选项. (9认同)