问题
该网站在本地主机上构建和运行没有问题。该网站从Azure DevOps构建和部署到本地内部部署服务器也没有问题。它会使应用程序池崩溃,直到它关闭自己,然后返回503。这是在尝试将.NETStandard2.0项目添加到最近升级的.NETFramework4.8网站之后发生的。
最近更改概述
- 最近从
.NET Framework 4.5.2
升级到.NET Framework 4.8
。部署后网站工作正常。 - 在解决方案中创建了一个
.NET Standard 2.0
项目,将许多类移动到该项目中,并让.NET Framework 4.8
网站引用该项目。在此更改之后,应用程序池开始崩溃。
.NET Standard 2.0
项目的目的是让.NET Framework 4.8
和.NET 6
website/api并行运行,这样我就可以在使用.NET Standard 2.0
库项目作为这两个项目的基础时,慢慢地逐位迁移功能。
"我的尝试"
- 检查了IIS日志。他们只说有一个503返回。没有任何帮助。
- 检查了失败请求跟踪日志。里面什么都没有。
- 事件日志包含崩溃的应用程序事件日志(见下文)。
- 已在目标服务器上重新安装.NET Framework 4.8和.NET 6(ASP.NET核心托管捆绑包)。
应用程序事件日志
Faulting application name: w3wp.exe, version: 8.5.9600.16384, time stamp: 0x5215df96
Faulting module name: PerfMon64.dll, version: 8.0.11057.0, time stamp: 0x5f65478b
Exception code: 0xc0000409
Fault offset: 0x000000000013f68f
Faulting process id: 0x1370
Faulting application start time: 0x01d8e239d2a9099e
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\Program Files\Microsoft Monitoring Agent\Agent\APMDOTNETAgent\V8.0.10918.0\PerfMon64.dll
Report Id: 1f0f8b78-4e2d-11ed-8119-005056a40b02
Faulting package full name:
Faulting package-relative application ID:
搜索“异常代码”和“故障偏移量”使我找到了有关监视服务和SCOM的信息,但我尝试关闭监视服务,但我认为根本没有安装SCOM。不确定如何从此处进行故障排除。
问题
任何帮助,甚至知道如何解决这个进一步将是非常感谢。我怀疑这个问题是包或依赖关系相关;但我甚至无法从服务器获得有用的错误消息,因此我不确定如何继续。
您是否需要安装.NET Standard 2.0的运行时?如果需要,我在搜索时似乎找不到任何内容。
1条答案
按热度按时间6l7fqoea1#
我按照建议使用了Debug Diagnostics Tool,发现了一些没有意义的异常,但指出微软监控服务是问题所在。
我卸载了它,之后异常指向
System.Globalization
。我将NuGet包System.Globalization
安装到项目中,并重新部署,在回收应用程序池后,网站再次开始工作。我不确定是否需要卸载Microsoft Monitoring Service来解决该问题,但它对于查找真实的的异常是必要的。我认为它引发了异常,因为实际的异常与缺少区域性有关,所以我认为它也会在某种程度上导致监视服务出现问题(尽管只是猜测)。