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 Continue
checkbox。
在VS2010和VS2012中,编辑和继续选项在创build新的Web应用程序项目时默认是禁用的。 在VS2013中它默认打开。
您可以在Web项目的属性窗口中的Web选项卡上find此选项。
使用“启用编辑并继续”,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) STOP
button。 主要区别是停止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,所以我得到一个更加一致的经验。