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