我尝试运行一个Blazor
应用程序。
Web.Server runs .NET Core 3.0
Web.Client runs .NET Standard 2.0
Web.Shared runs .NET Standard 2.0
在将应用程序发布并上传到IIS
后,出现此错误:
HTTP Error 500.31 - ANCM Failed to Find Native Dependencies
Common solutions to this issue:
The specified version of Microsoft.NetCore.App or Microsoft.AspNetCore.App was not found.
Event Viewer
包含以下错误消息:
HTTP Error 500.31 - ANCM Failed to Find Native Dependencies
运行dotnet --info
时,我可以看到Microsoft.NetCore.App
和Microsoft.AspNetCore.App
都包含版本3:
PS C:\ Users \ FooBar> dotnet --info
.NET Core SDK(反映任何global.json):
版本:3.0.100-preview6-012264
提交:be3f0c1a03
Runtime Environment:
OS Name: Windows
OS Version: 10.0.17763
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\3.0.100-preview6-012264\
Host (useful for support):
Version: 3.0.0-preview6-27804-01
Commit: fdf81c6faf
.NET Core SDKs installed:
1.0.4 [C:\Program Files\dotnet\sdk]
2.0.0 [C:\Program Files\dotnet\sdk]
2.1.101 [C:\Program Files\dotnet\sdk]
3.0.100-preview6-012264 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0-preview6.19307.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 1.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0-preview6-27804-01 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.0.0-preview6-27804-01 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
ASP.NET Core诊断:
IMPORTANT: This report might contain confidential information. Mask such before sharing to others.
-----
System Time: 6/18/2019 12:50:58 AM
Processor Architecture: AMD64
OS: Microsoft Windows NT 10.0.17763.0
Server Type: IIS
Scan 31 installed module(s).
ASP.NET Core module version 2 is installed for .NET Core 2.2 and above: C:\Program Files\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll (13.0.19158.0).
Scan 86 registered handler(s).
* Found a valid ASP.NET Core handler as { Name: aspNetCore, Path: *, State: Enabled, Module: AspNetCoreModuleV2, Entry Type: Local }.
Visual C++ runtime is detected (expected: 14.0, detected: 14.14.26405.0 built by: VCTOOLSREL): C:\WINDOWS\system32\msvcp140.dll.
Scan aspNetCore section.
"processPath": dotnet.
"arguments": .\Web.Server.dll.
"hostingModel": inprocess.
"runtimeTarget": .NETCoreApp,Version=v3.0.
Please refer to pages such as https://dotnet.microsoft.com/download/dotnet-core/2.2 to verify that ASP.NET Core version 13.0.19158.0 matches the runtime of the web app.
为什么IIS在我的服务器上抛出此错误?
注意:它在Visual Studio 2019中有效。
答案 0 :(得分:4)
如果这对其他人有帮助,当从 .net core 3.1 迁移到 .Net 5 时。
<TargetFramework>net5.0</TargetFramework>
。这一切在本地运行良好,但是,当我将更改推送到 Azure DevOps 时,管道中的所有一切都正常运行,Web 应用程序给出了与 OP 相同的错误。
我通过进入 Azure 门户解决了我的问题:
答案 1 :(得分:3)
除了@Alexei的答案:
我使用Azure应用服务收到此错误。
转到https://<your-app>.scm.azurewebsites.net/detectors?type=tools&name=eventviewer
或登录Azure门户并导航到“诊断和解决问题”以查看更好的错误描述。
在我的情况下,我出现了错误:
找不到“ aspnetcorev2_inprocess.dll”。异常消息:失败 将'D:\ local \ UserProfile.dotnet \ tools'添加到PATH环境 变量。将此目录添加到您的PATH中以使用随 “ dotnet工具安装”。
我不认识aspnetcorev2_inprocess.dll
,因此决定检查wwwroot
文件夹以寻找线索:
https://<your-app>.scm.azurewebsites.net/DebugConsole/?shell=powershell
在我的情况下位于D:\home\site\wwwroot
。在这里,我可以看到几个我没想到的DLL。原来,我们的Azure DevOps管道发布了我们的解决方案而不是Web项目,并且我们合并了一个新的Azure Functions项目来开发分支。修复发布后,一切正常。
有用的链接以进行更多故障排除:
https://docs.microsoft.com/en-us/aspnet/core/test/troubleshoot-azure-iis?view=aspnetcore-3.1
答案 2 :(得分:3)
以下解决方案工作正常。
要解决此问题而无需重新安装iis:
AspNetCoreModuleV2
更改为AspNetCoreModule
。和
重新启动应用程序和池。然后停止应用程序和池。并更换回去。
运行应用程序和池。答案 3 :(得分:2)
答案 4 :(得分:1)
只需添加我身上发生的事情-也许对其他人有帮助。
我已经从2. *迁移到3.1.5,但是我没有删除两个旧的nuget软件包。
当我摆脱它们时,我又重新部署了它,并且它起作用了。
(更确切地说,我删除了其中一个,并更新了另一个-Microsoft.EntityFrameworkCore.SqlServer 3.1.4而不是3.1.5)
答案 5 :(得分:0)
将ASP.NET Core项目从.NET Core 3.0升级到3.1并安装Microsoft .NET Core 3.1.0-Windows Server Hosting之后,我收到相同的错误。
将web.config处理程序从AspNetCoreModuleV2
更改为AspNetCoreModule
,并且工作正常。
通过检查事件查看器找到根本原因。导致此错误的原因可能有多种,但在我的情况下,未找到与CodeAnalysis相关的程序集
无法找到应用程序依赖项。确保版本 Microsoft.NetCore.App和Microsoft.AspNetCore.App 应用程序已安装。
找不到“ aspnetcorev2_inprocess.dll”。异常消息:错误: 应用程序依赖清单中指定的程序集 找不到(myproject.deps.json):软件包: 'Microsoft.CodeAnalysis.CSharp.Workspaces',版本:'3.3.1'路径: 'lib / netstandard2.0 / Microsoft.CodeAnalysis.CSharp.Workspaces.dll'
尽管它们相关,但这些消息处于不同的事件中。
答案 6 :(得分:0)
当我从开发服务器部署到登台服务器时,我有相同的错误消息。我通过添加Nuget软件包 Microsoft.NetCore.App (版本2.2.8)解决了该问题。有时答案在错误消息中。
答案 7 :(得分:0)
我遇到了同样的问题,列出了工作站上丢失的软件包的名称。打开命令提示符,然后在下面运行以查看您的计算机上所有可用的软件包。
dotnet --info
它将列出所有已安装的.Net core sdks和运行时。然后,您将发现是否缺少所需的天气软件包。您可以从官方网站https://dotnet.microsoft.com/download/dotnet-core安装这些必需的软件包 重建您的解决方案,它应该可以工作。
答案 8 :(得分:0)
此错误可能有很多原因。要查找确切的错误,请在web.config中将“ stdoutLogEnabled ”更改为 true 。这将生成日志文件,您可以在其中找到确切的问题。就我而言,我错过了几个dll。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\MyWebsite.Web.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 20E974DC-FA0B-4957-8D1E-3466E348F82E-->
答案 9 :(得分:0)
要解决此问题而不重新安装iis,我找到了一些解决方案。希望它能帮助某人。 在 web.config 中,将 AspNetCoreModuleV2 更改为 AspNetCoreModule 。并重新启动应用程序和池。然后停止应用程序和池。并更换回去。运行应用程序和池。
答案 10 :(得分:0)
答案 11 :(得分:0)
同样的错误,发布后也是如此。
dotnet --info
显示 Microsoft.AspNetCore.App
有相关版本,但没有 Microsoft.NetCore.App
。
我支持一个 VS 更新,所以我运行了它并修复了它。
不确定,但想知道 Microsoft.AspNetCore.App
是否升级为发布,而 Microsoft.NetCore.App
没有。