从Visual Studio 2010调试控制台应用程序和Web API应用程序

时间:2016-01-06 21:41:41

标签: asp.net visual-studio visual-studio-2010 visual-studio-debugging

问题

我有一个Visual Studio 2010解决方案,其中包含各种class library项目,1个ASP.NET Web API项目和2个Console Application项目。

现在,控制台应用程序使用WebClient类与解决方案中的Web API项目进行通信。当我运行其中一个控制台应用程序时,Web API将自动在VS ASP.NET WebDev Server(在Localhost中)中运行。这可以。当我在Web API解决方案(例如其中一个控制器)中设置断点时,它们在调试期间不会被命中。仅命中控制台断点。现在,如果我直接运行Web API解决方案,并使用REST Easy FF插件来构建请求,则会触发断点。

在调试时,Visual Studio 2010中是否有一个选项可以同时分解两个不同的应用程序?

我正在使用的技术

  1. Visual Studio 2010 SP1
  2. 控制台应用程序是.NET 4.0项目
  3. Web API项目是第一个版本

1 个答案:

答案 0 :(得分:2)

我可以想出几种方法来处理你的问题:

  1. 显式加载解决方案A中的符号:  转到工具 - > 选项 - > 调试 - > 符号,您可以将其指向。解决方案A中的pdb文件 然后,您可以通过在调试时转到调试 - > Windows - > 模块来查看符号是否从二进制文件加载。
  2. 禁用名为“Just My Code”的调试功能。这是一个旨在将调试体验最小化到解决方案中的代码的功能。要禁用它:
  3. 工具 - >选项 - >调试

    取消选中“启用我的代码”

    1. 最后一个选项是使用我在其他人发布的另一个问题中找到的解决方案:
    2.   

      这就是我所做的。

           

      假设解决方案A中的项目引用了解决方案B和我的项目   想从Solution A项目调试解决方案B项目。

           

      在Visual Studio中打开解决方案B.将项目属性设置为“使用”   本地IIS Wb服务器“,设置项目Url并创建虚拟   目录。

           

      在另一个Visual Studio实例中打开解决方案A.设置项目   属性“使用本地IIS Wb服务器”并选中“使用IIS Express”,   设置项目Url并创建虚拟目录。

           

      按F5并开始调试Visual Studio的Solution B实例。   然后按F5并开始调试解决方案Visual的一个实例   工作室。现在,Visual Studio的两个实例都处于调试模式。   现在从解决方案A开始,您应该能够调试   解决方案B就像两个项目都在同一个解决方案中一样。

           

      这里的关键是“使用IIS express”和“本地IIS Web”   服务器“用于另一个项目。这将让你有两个调试器   马上跑。

      来源:https://stackoverflow.com/a/25630033/3125120

      我希望它有所帮助。