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