IIS Express在停止Web应用程序后立即closures正在运行的站点

当我想在IDE中停止应用程序时,我正在使用Visual Studio 2012,应用程序仍然在IIS Express上运行,我可以浏览和运行正在运行的应用程序,但现在我不能。 IIS立即closures应用程序,如果我按停止button。 因为我记得我没有对设置做任何改变。 我应该怎么做,运行相同的第一天。

我最近面临类似的情况,突然我的IIS Express停止debugging后立即停止。 这是在打开“启用编辑并继续”后发生的 。 所以如果你禁用了这个function,那么即使在debugging停止后,你也会看到IIS Express仍然在运行。

右键单击您的项目>单击属性>select左侧的“Web”选项卡>取消选中Enable Edit and Continuecheckbox。

在VS2010和VS2012中,编辑和继续选项在创build新的Web应用程序项目时默认是禁用的。 在VS2013中它默认打开。

您可以在Web项目的属性窗口中的Web选项卡上find此选项。

编辑并继续选项vs2013

使用“启用编辑并继续”,VSdebugging器在IIS Express中启动您的Web应用程序。 当您停止debugging时,IIS Express也closures。 有了这种行为,您将看到IIS Express系统托盘在debugging过程中出现,并在debugging后消失。 当“启用编辑并继续”选项打开时,此行为与VS2012中的行为相同。

如果您在开发过程中不需要“编辑并继续”function ,并希望IIS Express在debugging会话后保留,则可以简单地closures“启用编辑并继续”选项

如果您想使用“编辑并继续”,或者您正在开发一个Asp.net 5站点 (ASP.NET 5项目在项目属性中没有“编辑并继续”checkbox) ,则必须使用“Detech all”命令停止debugging。

debugging器将从iis进程分离而不closures它。

很明显,“编辑并继续”function将不会工作,直到您再次开始debugging。

在这里输入图像说明

您可以使用“debugging”菜单中的“ Detach all菜单项,而不是点击(X) STOPbutton。 主要区别是停止button将终止当前正在debugging的进程,而全部分离将debugging器与进程断开连接,但不会终止它们。

正常的IIS工作进程也将被终止,但由于它曾经作为一个服务运行,它也会自动重新启动,因此你可以继续使用它,而不必通过|> Debug|> Start without debugging来重新启动进程|> Start without debugging

截图供参考

添加“编辑并继续”按钮到调试工具栏。

从Visual Studio 2015 Update 2发布以来,接受的解决scheme似乎不再有效。

到目前为止,我发现的最简单的解决scheme是从“ debugging ”菜单中select“ 无需debugging即可开始 ”。

这可能是最好的另一个解决方法,但它适用于我。

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

从此,任何需要debugging的东西,我通常会附加到新的iisexpress进程。 在通过上下文菜单进行鼠标操作的时候,它会使其成为一个不起眼的菜单,它的速度几乎与F5一样快,下面是一些按键:

  • Shift-F6build立当前的项目或Ctrl-Shift-Bbuild立整个解决scheme(这只是如果你已经做了更改,但我想我应该提到它,因为F5已经这样做)。
  • Ctrl-Alt-P打开附加到进程对话框

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

  • 打回车,你连接

如果您有多个iisexpress正在运行,最后一个将会出现在列表顶部。 另一种select是转移select并附加到所有这些选项。

这在国际海事组织中有许多优点。 首先,它并没有终止这个过程。 其次,停止debugging时浏览器窗口不closures。 当我看到一个开发人员重复执行7个步骤来重现一个错误,当他需要做的只是在现有的浏览器窗口中按F5,然后在debugging器连接之后重新发布的时候,它就让我感到困惑。 最后,我必须这样做,当附加到nunit,所以我得到一个更加一致的经验。