【问题标题】:Debug Multiple Solutions VS 2012调试多个解决方案 VS 2012
【发布时间】:2013-05-04 01:53:40
【问题描述】:

我一直在尝试使用解决方案 B 中的 MVC 项目来调试解决方案 A 中的类库。 我运行解决方案 B,在解决方案 A 中设置断点,但调试器从未进入解决方案 A。

我已经尝试过使用this answerthis answer,但没有成功。

如何在 VS2012 中调试多个解决方案?

谢谢!

【问题讨论】:

    标签: debugging visual-studio-2012


    【解决方案1】:

    有一些方法可以做到这一点。但最简单的是:

    1. 启动解决方案 B
    2. 转到解决方案 A
    3. 转到调试->附加到进程...
    4. 选择您正在运行的可执行文件(当然是从解决方案 B 中选择。您可能需要选中“显示所有用户的进程”)

    您需要将解决方案 A 链接到解决方案 B 的可调试版本才能使其正常工作。通常它位于项目的bin\Debug 子目录中。在这种情况下,您的断点应该在到达后立即被击中。

    另一种方法是:

    1. 打开解决方案 A 的属性。
    2. 进入调试
    3. 在“启动操作”下选择“启动外部程序:”
    4. 浏览到解决方案 B 的可执行文件

    运行解决方案 A。

    另一种方法是在你的类库中插入句子Debugger.Break();(需要using System.Diagnostics;)。但请注意不要发布调试版本!一旦到达,系统应该会弹出一个对话框,询问您是否要调试该过程。此过程还取决于所有组件的正确安装...

    【讨论】:

    • 我已经完成了,但是断点说“断点不会被激活。没有为此文档加载符号”
    • 您需要将可执行文件链接到类库的可调试版本。所以这真的取决于你如何链接你的解决方案。
    • 我已经将 iis 进程附加到类库项目中,但是当我这样做时,我必须分离 MVC 项目,这很烦人。对于第二种解决方案,我不知道哪个是 MVC 项目的可执行文件。谢谢!!
    • 当您附加到该流程时,您已经掌握了有关它的各种信息。使用该信息的一种方法是查看名称并查看项目的目录树以找到具有该名称的进程文件。当然,在这种情况下,调试器也会将您的第二个进程与第一个进程分离。就像 Richard Walter 所说的:创建一个新的解决方案并将两个项目添加到其中,这样您就可以在同一环境中打开它们并同时调试它们。
    【解决方案2】:

    制作一个解决方案 C,其中包含解决方案 A 中的类库以及解决方案 B 中的 MVC 项目。这不需要对类库项目或 MVC 项目进行任何更改或复制。事实上,您可以将它们保留在原处,只需将现有项目添加到新的解决方案 C 中即可。

    【讨论】:

      猜你喜欢
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-31
      • 1970-01-01
      • 2014-04-26
      • 2018-01-19
      • 1970-01-01
      相关资源
      最近更新 更多