从另一个预构建的解决方案加载调试信息

时间:2011-02-28 20:49:09

标签: c# visual-studio debugging symbols

我有一个Visual Studio解决方案(C#),它代表了我们应用程序的核心。我们构建它,它包含大约10个具有相应PDB的DLL。

我还有其他几种VS解决方案,每种解决方案都用于我们的客户。这些VS解决方案使用核心DLL并根据需要添加自己的位。 “核心”具有主要的.exe,因此我们在客户特定的解决方案中执行以下操作

  • 项目中的构建后步骤,将EXE / DLL / PDB复制到$(TargetDir)
  • 将项目调试设置设置为“启动外部程序”,指向.exe

这一切都有效,看起来有点笨拙。

我的问题是:

通过客户特定解决方案运行时,我该怎么办

  • 当我进入核心项目的代码时自动打开
  • 能够打开核心文件并设置断点

我已经习惯了Java,你可以从Java IDE中引用已编译的源代码和源代码库,这就是它。如何在visual studio(DLL和PDB)中做同样的事情?

(如果可能的话,我宁愿避免使用GAC,因为我们有时会在不同的项目中同时拥有几个本地核心版本)

2 个答案:

答案 0 :(得分:1)

迈克,如果你打开一个引用核心解决方案的“更高堆栈”解决方案,你可以打开核心解决方案的源文件并在其中加入一个断点,然后当你调试当前解决方案时,Visual Studio足够聪明如果bin文件夹中有.pdb文件,则进入并触发断点。

答案 1 :(得分:1)

要自动将调试控件遍历到核心源文件中,请确保从本地构建核心解决方案中引用核心dll并确保可以访问它。 另一种方法是在引用核心dll之后,只需打开要在其中放置断点并进行调试的CS文件。