C# 如何防止在关闭选项卡时停止调试器

C# 如何防止在关闭选项卡时停止调试器,c#,asp.net,asp.net-mvc,debugging,visual-studio-2015,C#,Asp.net,Asp.net Mvc,Debugging,Visual Studio 2015,我有一个ASP.NETMVC应用程序,在调试时使用“IisExpress”。调试(F5)项目时,将在浏览器中打开一个新选项卡 当我现在关闭该浏览器中的任何选项卡(不是运行我尝试调试的网站的选项卡)时,调试立即结束。我使用的是Chrome,但我不希望它是特定于浏览器的 如何改变这一点 更新1:值得一提的是,该解决方案有多个启动项目,其中一个是SharePoint加载项 更新2:关闭选项卡时,在调试停止之前,以下内容已写入输出日志: 程序“[4208]chrome.exe”已退出,代码为0(0x0)

我有一个ASP.NETMVC应用程序,在调试时使用“IisExpress”。调试(F5)项目时,将在浏览器中打开一个新选项卡

当我现在关闭该浏览器中的任何选项卡(不是运行我尝试调试的网站的选项卡)时,调试立即结束。我使用的是Chrome,但我不希望它是特定于浏览器的

如何改变这一点

更新1:值得一提的是,该解决方案有多个启动项目,其中一个是SharePoint加载项

更新2:关闭选项卡时,在调试停止之前,以下内容已写入输出日志:

程序“[4208]chrome.exe”已退出,代码为0(0x0)。
程序“[15492]iisexpress.exe:程序跟踪”已退出,代码为0(0x0)。
程序“[10364]chrome.exe”已退出,代码为259(0x103)。
程序“[12380]chrome.exe”已退出,代码为259(0x103)。
程序“[10076]chrome.exe”已退出,代码为259(0x103)。
程序“[8060]chrome.exe”已退出,代码为259(0x103)。
程序“[8076]chrome.exe”已退出,代码为259(0x103)。
程序“[7488]chrome.exe”已退出,代码为259(0x103)。
程序“[7636]chrome.exe”已退出,代码为259(0x103)。
程序“[12972]chrome.exe”已退出,代码为259(0x103)。
程序“[15492]iisexpress.exe”已退出,代码为-1(0xffffffff)。
程序“[7384]chrome.exe”已退出,代码为259(0x103)。
程序“[7468]chrome.exe”已退出,代码为259(0x103)。
程序“[7476]chrome.exe”已退出,代码为259(0x103)。
程序“[7884]chrome.exe”已退出,代码为259(0x103)。
程序“[13360]chrome.exe”已退出,代码为259(0x103)。
程序“[9768]chrome.exe”已退出,代码为259(0x103)。
程序“[13804]chrome.exe”已退出,代码为259(0x103)。
程序“[11008]chrome.exe”已退出,代码为259(0x103)。
程序“[6920]chrome.exe”已退出,代码为259(0x103)。
程序“[7364]chrome.exe”已退出,代码为259(0x103)。
程序“[7372]chrome.exe”已退出,代码为259(0x103)。
程序“[7392]chrome.exe”已退出,代码为259(0x103)。
程序“[7400]chrome.exe”已退出,代码为259(0x103)。
程序“[7420]chrome.exe”已退出,代码为259(0x103)。
程序“[7936]chrome.exe”已退出,代码为259(0x103)。
程序“[1900]chrome.exe”已退出,代码为259(0x103)。
程序“[8496]chrome.exe”已退出,代码为259(0x103)。
程序“[6288]chrome.exe”已退出,代码为259(0x103)。
程序“[6616]chrome.exe”已退出,代码为259(0x103)。
(但chrome并未真正退出)但仍在运行

当我在没有调试的情况下启动项目(Ctrl+F5)时,关闭选项卡似乎不会对IISExpress产生影响(应用程序继续)

更新3
令人惊讶的是,只有当我关闭在开始调试之前存在的选项卡时才会发生这种情况。创建新选项卡并关闭这些选项卡不会导致调试器停止。

这似乎是IE的默认功能,如果运行应用程序的所有选项卡都已关闭,则调试器将停止。为了解决问题,我们做了以下一次:

  • 在IIS中托管应用程序,因此无论我们是否调试,应用程序实际上都在运行
  • 应用程序运行时,将调试器附加到IIS工作进程(w3wp.exe)
  • 这可以防止浏览器关闭依赖关系,只要IIS工作进程正在运行,调试器就会保持连接状态

希望有帮助……

这看起来根本不是默认行为。至少我从来没有遇到过这样的问题,也从来没有听说过,所以似乎有什么东西在为你做这个“功能”。我的同事也有同样的问题,我们没有特定的加载项。哪个Visual Studio版本?@CodeCaster更新了标记。除此之外,据我所知,Chrome进程只在将启动参数(URL,…)传递给已经运行的实例时运行得很短,而实例又会打开一个新选项卡。可能是一些Chrome更新改变了这一点,Visual Studio仍然依赖于旧的行为。我的问题是Chrome,但在这里使用IIS可能会有所帮助,tooYes,使用IIS也应该在那里帮助你…但我提到了IE,因为我们只在那里面对它…@OleAlbers运气好吗?还没有。当前有其他(更紧急的)错误需要修复。将报告