HTTP Error 500.31 - ANCM Failed to Find Native Dep

2020-08-10 05:59发布

I try to run a Blazor application.

Web.Server runs .NET Core 3.0
Web.Client runs .NET Standard 2.0
Web.Shared runs .NET Standard 2.0

After publishing and uploading the application to IIS i get this error:

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 contains this error message:

HTTP Error 500.31 - ANCM Failed to Find Native Dependencies

When I run dotnet --info I can see that I both Microsoft.NetCore.App and Microsoft.AspNetCore.App contains version 3: PS C:\Users\FooBar> dotnet --info .NET Core SDK (reflecting any global.json): Version: 3.0.100-preview6-012264 Commit: 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 Diagnostics:

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.

Why is IIS throwing this error on my server?

Note: It works from Visual Studio 2019.

9条回答
一夜七次
2楼-- · 2020-08-10 06:16

Below solution is working fine.

To solve this issue without reinstalling iis:

  • In web.config change AspNetCoreModuleV2 to AspNetCoreModule. And restart app and pool. Then stop app and pool. And replace to back. Run app and pool.
查看更多
在下西门庆
3楼-- · 2020-08-10 06:19

I have the same issue. In my case the problem was in the wrong RID in dotnet publish command. I was doing a self-contained deployment and then downloaded it to app service.

As a result, the command should be like this:

dotnet publish -c Debug -r win-x86 --self-contained
查看更多
ら.Afraid
4楼-- · 2020-08-10 06:20

There might be many reasons for this error. To find exact error, Change "stdoutLogEnabled" to true in web.config. This will generate logfile where you can find exact problem. In my case, I had missed few dlls.

<?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-->
查看更多
何必那么认真
5楼-- · 2020-08-10 06:21

Just adding what happens to me - maybe it helps someone else.

I had migrated from 2.* to 3.1.5, but I did not remove two old nuget packages.

When I got rid of them, I deployed it again and it worked.

(To be more precise, I removed one of them and updated the other one - the Microsoft.EntityFrameworkCore.SqlServer whas 3.1.4 instead of 3.1.5)

查看更多
Summer. ? 凉城
6楼-- · 2020-08-10 06:28

To solve this issue without reinstalling iis I found some solution. Hope it help someone. In web.config change AspNetCoreModuleV2 to AspNetCoreModule. And restart app and pool. Then stop app and pool. And replace to back. Run app and pool.

查看更多
forever°为你锁心
7楼-- · 2020-08-10 06:33

I had same issue that listed the name of missing package on my workstation. Open command prompt and run below to see what all packages are available on your machine.

dotnet --info

It will list all .Net core sdks & runtime installed.Then you will find weather required packages are missing or not. You can install those required packages from official site https://dotnet.microsoft.com/download/dotnet-core .Rebuilt your solution and it should work.

查看更多
登录 后发表回答