【问题标题】:VS2013: Run an executable after debug has startedVS2013:调试开始后运行可执行文件
【发布时间】:2016-10-12 17:51:45
【问题描述】:

我正在尝试以接收来自外部应用程序的请求的方式运行特定的 Web 项目。

因此,当按下 F5 时,它启动当前 Web 项目在 Visual Studio 中进行调试,但等待其他站点进行网络调用。

问题是,为了让其他网站正常工作,我必须启动其他几个网站,包括服务、资源、身份验证服务器等。有些不是解决方案的一部分 strong> - 这意味着我不能使用“调试时始终启动”。

为此,您可以在“启动外部程序”部分看到灰色的可执行文件。 “IISExpressRunner”。该程序还将在所有设置完成后打开访问该站点的站点。

我的问题是我目前每次开始调试时都需要手动运行它,因为不能同时选择这两个选项 - 这当然没有意义,因为它只能调试一件事。

我可以单独通过 IISExpressRunner 应用程序调试网站,但这意味着我需要在管理员模式下运行 VS,因为该应用程序请求 UAC 能够禁用 IIS 以在端口 80 上运行 IISExpress - 特定于域别名和身份验证服务器重定向 Google 和 Facebook 登录 - 以便能够在开发环境中本地运行它。

那么有没有办法让 Visual Studio 调试当前项目并自动在调试开始后也执行这个外部应用程序而不调试它?

【问题讨论】:

标签: c# visual-studio visual-studio-2013 visual-studio-debugging


【解决方案1】:

我能想到的一种解决方法是,您可以在使用代码“Debugger.IsAttached()”调试应用程序之前调用 bat 文件。

Run batch script before Debugging

【讨论】:

  • 我会避免将 csproj.user 特定的东西放入项目代码中(并且它需要在我想要调试的每个项目的启动中)。
  • 我没有直接找到一个解决方案,就像我之前的建议一样,我只知道您可以编辑代码并调试您想要调试的内容,例如,使用#if DEBUG 或其他。
【解决方案2】:

您可以使用手动过程。在运行调试会话期间,右键单击要同时开始调试的项目,转到“调试”子菜单,然后单击“启动新实例”。

【讨论】:

  • 这会让事情变得很奇怪。运行程序需要在未调试服务的情况下启动服务,并且当浏览器打开时,它将启动 Web 门户主页,如果程序员没有在 Visual Studio 中足够快地开始调试,则该主页将无法工作。 - 之后可能会或可能不会刷新,这取决于页面上是否有一些重定向。在管理员模式下启动 Visual Studio 比在 F5 启动时不工作更让我高兴。
猜你喜欢
  • 2017-01-09
  • 1970-01-01
  • 1970-01-01
  • 2015-03-05
  • 2011-05-21
  • 2018-01-04
  • 2017-05-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多