Visual Studio – 将源代码附加到引用

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

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

看起来答案是接近这个MSDN文档页面的底部。

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

1. Files that are open in the IDE of the Visual Studio instance that launched the debugger. 2. Files in the solution that is open in the VS instance. 3. Directories that are specified in the "Common Properties" / "Debug Source Files" page in the properties of the solution. 4. The source information of the .pdb of the module. This can be the location of the source file when the module was built, or it can be a command to a source server. 

将目录添加到解决scheme的“debugging源文件”页面(上面的步骤3):

您可以指定一个networking或本地目录来search源文件。

 1. Select the solution in Solution Explorer and then choose "Properties" from the shortcut menu (ie right-click context menu). 2. Under the "Common Properties" node, choose "Debug Source Files". 3. Click the folder icon. Editable text appears in the "Directories containing source code" list. 4. Add the path that you want to search. 

请注意,只有指定的目录被search。 您必须为您要search的任何子目录添加条目。

所以,如果你只想debugging一个特定的文件而不会混淆你的解决scheme,只需在Visual Studio IDE中打开该文件; 如果您需要从该文件进入其他文件,您可能还需要在Visual Studio中打开其他文件。

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

  1. 将源文件添加到解决scheme中的某个现有项目中,或者在解决scheme中创build一个新项目来存放源文件。 这将混乱你的解决scheme/项目,但由于它将被检入源代码pipe理,所有团队成员将自动能够debugging到源文件。
  2. 将包含源代码的目录添加到解决scheme的“debugging源文件”中。 由于此更改没有签入到源代码控制中,因此每个想要debugging源文件的团队成员都需要执行此操作并添加其本地path。 另外,如果您在另一台机器上获得解决scheme代码,则需要记住再次执行此步骤。

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

可能有一个更简单的方法来做到这一点,但目前我还没有意识到。