ASP.NET 重建后调试挂起
ASP.NET Debug hangs after Rebuild
我有一个奇怪的问题 - 当 运行 在我的 MVC 5 应用程序上进行调试会话时,该应用程序从未在浏览器中加载。在执行任何代码之前,系统会无限循环通过 VS 中的错误。它似乎在 IIS 快速初始化(加载其库)期间挂起。这是我目前所知道的:
行为:
首次启动 VS 2015 时,应用程序运行良好。
更改一两行代码后 - javascript,C# 无关紧要,触发重新构建的任何内容 - 它不再会在调试器中启动。即使改回以撤消您的代码更改,也不会恢复。
只有重新启动 VS 2015 才能恢复。
我的应用程序是 MVC 5,没有在我的应用程序中使用任何 vNext 东西,但是我确实安装了 ASP.NET 5 RC1-Update 1。我正在使用 Typescript 和 .scss 文件。
在输出 window 中,我看到以下日志信息:
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'. Cannot find or open the PDB file.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.ApplicationServices\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.ApplicationServices.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Caching\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.Caching.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Build.Utilities.v4.0\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.Utilities.v4.0.dll'. Cannot find or open the PDB file.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.RegularExpressions\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.RegularExpressions.dll'. Cannot find or open the PDB file.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/3/ROOT-3-131015937881507859): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'. Cannot find or open the PDB file.
The thread 0x21ec has exited with code 0 (0x0).
Exception thrown: 'System.CannotUnloadAppDomainException' in Unknown Module.
Exception thrown: 'System.CannotUnloadAppDomainException' in Unknown Module.
最后一个错误一遍又一遍地重复,穿插在线程退出消息中。在成功启动调试会话的情况下,此日志输出开始时相同,但在加载 mscorlib 之后立即是这些行:
/ROOT-1-131015945372332716): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/3/ROOT-1-131015945372332716): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/3/ROOT-1-131015945372332716): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/3/ROOT-1-131015945372332716): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.ApplicationServices\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.ApplicationServices.dll'. Symbols loaded.
(在成功的会话中,在这些之后还有许多其他行我没有显示)
这让我相信可能有什么东西阻止了 System.Web 的加载,或者 mscorlib 的加载出了问题。
这是我尝试过的方法:
在调试运行之间终止并重新启动 IIS Express - 在终止 IIS Express 并再次按下 F5 后,进程在 IIS exp 重新启动之前挂起。
卸载,重新安装 IIS Express 10
禁用了多个 VS 扩展
运行 修复我的 .NET Framework 4.6.1 安装
Removed/Re-installed ASP.NET 5 RC1-更新 1
已删除 .suo 文件、.vs 文件夹、IIS 临时文件
让同事在她的机器上重现,同样的行为
运行 没有调试,同样的行为
任何线索将不胜感激!
好吧,经过一番摸索,这个问题原来与 Application Insights 有关。几个月前,我在应用程序中添加了 AI,没有任何问题。但最近访问我的 Azure 门户时出现问题(我认为是公司防火墙问题),这导致 AI 无法正确登录或访问其 Web 组件。我的理论是,在第一次 运行 应用程序时,一切都很好,但在后台,AI 组件正在努力连接。然后当应用程序关闭时,组件无法正确卸载,因为它们挂在连接上。然后在第二个 运行 时(仅当我出于某种原因重建时),应用程序的初始化由于 'System.CannotUnloadAppDomainException' 错误而失败。
我不明白,但我确信删除所有 AI 引用已经解决了这个问题。感谢所有思考这个问题的人!
我有一个奇怪的问题 - 当 运行 在我的 MVC 5 应用程序上进行调试会话时,该应用程序从未在浏览器中加载。在执行任何代码之前,系统会无限循环通过 VS 中的错误。它似乎在 IIS 快速初始化(加载其库)期间挂起。这是我目前所知道的:
行为:
在输出 window 中,我看到以下日志信息:
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'. Cannot find or open the PDB file.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.ApplicationServices\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.ApplicationServices.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Caching\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.Caching.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Build.Utilities.v4.0\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.Utilities.v4.0.dll'. Cannot find or open the PDB file.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.RegularExpressions\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.RegularExpressions.dll'. Cannot find or open the PDB file.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/3/ROOT-3-131015937881507859): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'. Cannot find or open the PDB file.
The thread 0x21ec has exited with code 0 (0x0).
Exception thrown: 'System.CannotUnloadAppDomainException' in Unknown Module.
Exception thrown: 'System.CannotUnloadAppDomainException' in Unknown Module.
最后一个错误一遍又一遍地重复,穿插在线程退出消息中。在成功启动调试会话的情况下,此日志输出开始时相同,但在加载 mscorlib 之后立即是这些行:
/ROOT-1-131015945372332716): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/3/ROOT-1-131015945372332716): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/3/ROOT-1-131015945372332716): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/3/ROOT-1-131015945372332716): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.ApplicationServices\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.ApplicationServices.dll'. Symbols loaded.
(在成功的会话中,在这些之后还有许多其他行我没有显示)
这让我相信可能有什么东西阻止了 System.Web 的加载,或者 mscorlib 的加载出了问题。
这是我尝试过的方法:
任何线索将不胜感激!
好吧,经过一番摸索,这个问题原来与 Application Insights 有关。几个月前,我在应用程序中添加了 AI,没有任何问题。但最近访问我的 Azure 门户时出现问题(我认为是公司防火墙问题),这导致 AI 无法正确登录或访问其 Web 组件。我的理论是,在第一次 运行 应用程序时,一切都很好,但在后台,AI 组件正在努力连接。然后当应用程序关闭时,组件无法正确卸载,因为它们挂在连接上。然后在第二个 运行 时(仅当我出于某种原因重建时),应用程序的初始化由于 'System.CannotUnloadAppDomainException' 错误而失败。
我不明白,但我确信删除所有 AI 引用已经解决了这个问题。感谢所有思考这个问题的人!