IIS Express在停止Web应用程序后立即关闭运行站点

sab*_*ber 169 c# asp.net visual-studio iis-express visual-studio-2012

我在第一天使用visual studio 2012时,我想在IDE中停止应用程序,应用程序仍在IIS Express上运行,我可以浏览并使用正在运行的应用程序,但现在我不能.IIS如果我按下停止按钮,立即关闭应用程序.因为我记得我没有对设置做任何改动.我应该怎么做与第一天一样的运行.

Abh*_*bhi 338

我最近遇到了类似的情况,当我停止调试后突然我的IIS Express停止了.这是在我打开"启用编辑并继续"后发生的.因此,如果禁用此功能,即使在调试停止后,IIS Express仍会保持运行状态.

右键单击项目>单击属性>选择左侧的"Web"选项卡>取消选中该Enable Edit and Continue复选框.

  • 这个作品!! 右键单击项目>单击属性>选择左侧的"Web"选项卡>取消选中"启用编辑并继续"复选框. (50认同)
  • 有用.在Visual Studio 2013中打开"工具 - >选项",在树中选择"调试 - >编辑并继续",然后取消选中"启用编辑并继续"框. (6认同)
  • 不,这是一个糟糕的解决方案 - 请参阅@jessehouwing发布的正确解决方案. (5认同)
  • 我可以确认这解决了我的问题. (3认同)
  • 您可以在此处详细了解此功能:http://blogs.msdn.com/b/webdev/archive/2013/07/11/enable-edit-and-continue-debugging-option-is-now-on逐默认为新的Web应用功能于vs2013-preview.aspx (3认同)

gia*_*min 84

在VS2010和VS2012中,创建新的Web应用程序项目时,默认情况下禁用编辑和继续选项.在VS2013中,它默认打开.

您可以在Web项目的属性窗口的Web选项卡上找到此选项.

编辑并继续选项vs2013

启用"启用编辑并继续"后,VS调试器将在IIS Express中启动Web应用程序.当您停止调试时,IIS Express也会关闭.通过此行为,您将看到IIS Express系统托盘在调试期间显示并在调试后消失.当启用"编辑并继续"选项时,此行为与VS2012中的行为相同.

如果在开发期间不需要"编辑并继续"功能,并且希望IIS Express在调试会话后保留,则只需关闭"启用编辑并继续"选项即可.

如果您想使用"编辑并继续"或者您正在开发Asp.net 5站点(ASP.NET 5项目在项目属性中没有"编辑并继续"复选框)您必须使用"全部检测"命令停止调试

调试器将从iis进程中分离而不关闭它.

显然,在您再次开始调试之前,"编辑并继续"功能将无效.

在此输入图像描述


jes*_*ing 61

(X) STOP您可以使用Detach all"调试"菜单中的菜单项,而不是按下按钮.主要区别在于stop按钮将终止当前正在调试的任何进程,而Detach All将断开调试器与进程的连接,但不会终止它们.

正常的IIS工作进程也将被终止,但由于它曾经作为服务运行,它也将自动重新启动,因此您可以继续使用它而无需通过|> Debug或重新启动进程|> Start without debugging.

参考的屏幕截图

添加

  • 这是VS 2015 Update 2如何通过从项目Web选项卡中删除编辑和继续来更改IIS行为的答案. (7认同)
  • 这实际上更接近真正的答案..'EDIT AND CONTINUE'选项是一个功能..将调试跟踪器附加和分离到监听过程是这里讨论的强调概念,以及点击停止是否终止该监听过程或简单脱离它..当然你也可以重新连接到它. (3认同)

toc*_*lle 32

似乎自Visual Studio 2015 Update 2发布以来,已接受的解决方案不再有效.

到目前为止,我发现的最简单的解决方案是通过从Debug菜单中选择" Start Without Debugging " 来启动项目.


b_l*_*itt 5

这可能最好归类为另一种解决方法,但它对我有用。

我通常第一次使用“在浏览器中查看”上下文菜单(或 CTRL-Shift-W)启动项目。

从那时起,任何需要调试的东西,我通常会附加到新的现有 iisexpress 进程。虽然鼠标通过上下文菜单会使其成为一个非启动器,但使用以下按键几乎与 F5 一样快:

  • Shift-F6 构建当前项目或 Ctrl-Shift-B 构建整个解决方案(这仅在您进行了更改时才需要,但我想我应该提及它,因为 F5 已经这样做了)。
  • Ctrl-Alt-P 打开附加到进程对话框

  • 然后输入“iis”将带您进入 iisexpress 过程

  • 按回车键就可以了

如果您有多个 iisexpress 正在运行,最后一个启动的通常会出现在列表的顶部。另一种选择是移动选择并附加到所有这些。

这在 IMO 有许多优点。首先,它不会终止进程。其次,停止调试时浏览器窗口不会关闭。当我看到开发人员重复 7 个步骤来重现错误时,这让我感到震惊,而他需要做的就是在现有浏览器窗口中按 F5 以在调试器连接后重新发布。最后,在附加到 nunit 时我必须已经这样做了,所以我得到了更一致的体验。