我想在 IDE 中停止应用程序的第一天使用 Visual Studio 2012,应用程序仍在 IIS Express 上运行,我可以浏览和使用正在运行的应用程序,但现在我不能。如果我按下停止按钮,IIS 会立即关闭应用程序。因为我记得我没有对设置进行任何更改。我应该如何像第一天一样运行。
我最近遇到了类似的情况,当我停止调试后,我的 IIS Express 突然停止了。这发生在我打开“启用编辑并继续”之后。因此,如果禁用此功能,您将看到即使在调试停止后 IIS Express 仍保持运行。
右键单击您的项目 >点击属性>选择左侧的“Web”选项卡 >取消选中 Enable Edit and Continue
复选框。
在 VS2010 和 VS2012 中,创建新的 Web 应用程序项目时,默认禁用编辑和继续选项。在 VS2013 中它默认是打开的。
您可以在 Web 项目的属性窗口的 Web 选项卡上找到此选项。
https://i.stack.imgur.com/AN7SQ.png
启用“启用编辑并继续”后,VS 调试器将在 IIS Express 中启动您的 Web 应用程序。当您停止调试时,IIS Express 也会关闭。使用此行为,您将看到 IIS Express 系统托盘在调试期间出现并在调试后消失。当启用编辑并继续选项打开时,此行为与 VS2012 中的相同。
如果您在开发过程中不需要“编辑并继续”功能并且希望 IIS Express 在调试会话后保留,您只需关闭“启用编辑并继续”选项即可。
如果您想使用“编辑并继续”或者您正在开发一个 Asp.net 5 站点(ASP.NET 5 项目在项目属性中没有“编辑并继续”复选框),您必须使用“Detech all”命令来停止调试。
调试器将与 iis 进程分离而不关闭它。
显然,在您再次开始调试之前,“编辑并继续”功能将不起作用。
https://i.stack.imgur.com/76LzA.png
您可以使用调试菜单中的 Detach all
菜单项,而不是点击 (X) STOP
按钮。主要区别在于停止按钮将终止当前正在调试的任何进程,而 Detach All 将断开调试器与进程的连接,但不会终止它们。
正常的 IIS 工作进程也会被终止,但由于它曾经作为服务运行,它也会自动重新启动,因此您可以继续使用它而无需通过 |> Debug
或 |> Start without debugging
重新启动进程.
截图供参考
https://i.stack.imgur.com/lAm3W.png
似乎自 Visual Studio 2015 Update 2 发布以来,公认的解决方案不再有效。
到目前为止,我发现的最简单的解决方案是通过从 Debug 菜单中选择“Start without Debugging”来启动项目。
这可能最好归类为另一种解决方法,但它对我有用。
我通常使用“在浏览器中查看”上下文菜单(或 CTRL-Shift-W)第一次启动项目。
从那时起,任何需要调试的东西,我通常都会附加到新的现有 iisexpress 进程中。虽然通过上下文菜单鼠标将使其无法启动,但它几乎与 F5 一样快,具有以下击键:
Shift-F6 构建当前项目或 Ctrl-Shift-B 构建整个解决方案(仅当您进行了更改时才需要这样做,但我认为我应该提及它,因为 F5 已经这样做了)。
Ctrl-Alt-P 打开附加到进程对话框
键入“iis”将带您进入 iisexpress 流程
按回车键,您已连接
如果你有不止一个 iisexpress 运行,最后一个启动的通常会出现在列表的顶部。另一种选择是移位选择并附加到所有这些。
这有许多 IMO 的优点。首先,它不会终止进程。其次,停止调试时浏览器窗口不会关闭。当我看到开发人员重复 7 个步骤来重现错误时,我感到很震惊,而他需要做的只是在现有浏览器窗口中按 F5 键,以便在连接调试器后重新发布。最后,我必须在附加到 nunit 时已经这样做了,所以我得到了更一致的体验。
不定期副业成功案例分享