首次尝试调试时出现“无法在Web服务器上启动调试”错误

时间:2018-08-07 10:48:49

标签: asp.net visual-studio iis asp.net-web-api

我已经搜索(搜索引擎优化和其他Google搜索),但是找不到能解决此问题的任何东西。

我的解决方案包含多个项目:一些库,MVC应用程序,WebAPI。这个问题开始出现在一些新创建的WebAPI项目中,只有18个项目中有2个。

每当我更改代码并尝试在Visual Studio(本地IIS)中运行调试器时,都会收到以下错误消息:

  

无法在Web服务器上开始调试。底层连接   已关闭:预期保持活动状态的连接已关闭   由服务器

如果我在该错误消息上单击OK并再次开始调试,则它可以正常工作。因此,基本上总是需要2次尝试才能使调试器以最新的代码运行。

该应用程序使用大多数默认设置在IIS中的默认网站和应用程序池下运行。解决方案中的所有内容都针对.net461。VisualStudio 2017是最新版本(15.7.6),并且我还安装了最新的.NET框架。 VS以管理员身份运行。

该问题似乎不是由本地设置引起的,因为其他人运行此解决方案并尝试调试存在此问题的2个项目时也会发生此问题。

有什么办法可以进一步调试并弄清楚为什么会发生这种情况?

编辑:取得了一些进展,该问题似乎是由于Application_Start()挂了一些东西而发生的。在每个函数调用之间添加一堆日志后,似乎原因在于WebAPI的注册,尤其是在通过Swashbuckle NuGetPackage启用Swagger时。我将保留此职位,但也会对Swashbuckle提出问题。

这是一条红色的鲱鱼,经过多次复制后,它挂在GlobalConfiguration.Configure(WebApiConfig.Register);的末尾。

查看IIS日志,我看到很多这样的DEBUG条目:

2018-08-09 13:32:54 127.0.0.1 DEBUG /MyApp/debugattach.aspx - 80 - 127.0.0.1 - - 401 0 0 7240

config.EnsureInitialized()似乎是挂起的可能情况之一,因为它在注册结束时执行。还不知道是可能的原因。

1 个答案:

答案 0 :(得分:0)

以管理员模式运行Visual Studio