IIS Express在调试会话结束时不会停止

时间:2018-01-05 14:48:51

标签: asp.net-core visual-studio-2017 iis-express asp.net-core-2.0

当我在Visual Studio 2017中停止调试网站时,突然间IIS Express不再停止。

我不确定此行为何时开始,但我有以下设置:

  • Visual Studio 15.5.2(已修复)
  • IIS Express 10.0 x64(重新安装)
  • 针对net461
  • 的ASP.Net Core 2项目
  • 我在工具中禁用了“启用编辑并继续” - >选项 - >调试 - >一般

不确定这是什么时候开始发生的,也许当我更新到最新的VS版本时。

我还能尝试什么?

8 个答案:

答案 0 :(得分:4)

可以选择控制Visual Studio中的行为。

编辑并继续定位

enter image description here

最新的VS 2017更新必须已开启。

再次关闭标记选项时,IIS Express会在结束调试会话时停止。

答案 1 :(得分:3)

如果 Enable Edit and Continue 未选中 即使在调试停止后,IIS Express 也会继续

如果您愿意,可以取消选中:

  

右键点击您的项目»点击Properties »选择Web标签»Enable Edit and Continue复选框   enter image description here

答案 2 :(得分:3)

对于Visual Studio 2019中的.net Core Web项目

右键单击您的项目»单击“属性”»选择“调试”选项卡»选择主机模型。

进行中:停止调试器时,IIS Express将停止。 进程外:停止调试器后,IIS Express将继续运行。

enter image description here

答案 3 :(得分:2)

很明显,ASP.NET Core中的IIS Express不会停止运行是https://github.com/dotnet/project-system/issues/3394#issuecomment-378307654

答案 4 :(得分:1)

对于Visual Studio 2017中的.net Core Web项目

如果添加:

<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

或:

<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>

在project.csproj配置的第一个PropertyGroup中,您将更改iis express行为。

  • InProcess 将在调试后终止iis express。

  • 如果设置为 missing 或设置为 OutOfProcess ,iis express将使进程继续运行。

- 此设置将更新解决方案的.vs \ config \ applicationhost.config,并且hostingModel =“ InProcess”将添加/删除到该项目的iis express启动配置中。

  <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" hostingModel="InProcess" />

(您无需更改applicationhost.config,仅用于参考)

答案 5 :(得分:1)

在Visual Studio 2019中:

工具->选项->项目和解决方案-> Web项目:“关闭浏览器窗口时停止调试器”。

答案 6 :(得分:0)

如果问题偶尔出现(没有可重复性),那么它可能是asp或vs上的问题或错误,为什么不保存项目,然后直接杀死进程并重新运行它?

答案 7 :(得分:0)

IIS Express保持站点(如IIS),您可以转到任务栏,右键单击IIS Express图标,您就可以手动停止每个站点。