Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HTTP Error 500.31 - ANCM Failed to Find Native Dependencies in IIS

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.

like image 677
Westerlund.io Avatar asked Jun 17 '19 11:06

Westerlund.io


People also ask

What is ANCM failed to start?

ANCM failed to start within the provided startup time limit. By default, the timeout is 120 seconds. This error can occur when starting a large number of apps on the same machine. Check for CPU/Memory usage spikes on the server during startup.


5 Answers

I have received the same error after upgrading my ASP.NET Core project from .NET Core 3.0 to 3.1 and installing Microsoft .NET Core 3.1.0 - Windows Server Hosting.

Quick (but bad) fix

changed the web.config handler from AspNetCoreModuleV2 to AspNetCoreModule and it worked ok.

Good fix

Find the underlying cause by inspecting Event Viewer. There might be multiple causes for this error, but in my case it was not finding an assembly related to CodeAnalysis

Unable to locate application dependencies. Ensure that the versions of Microsoft.NetCore.App and Microsoft.AspNetCore.App targeted by the application are installed.

Could not find 'aspnetcorev2_inprocess.dll'. Exception message: Error: An assembly specified in the application dependencies manifest (myproject.deps.json) was not found: package: 'Microsoft.CodeAnalysis.CSharp.Workspaces', version: '3.3.1' path: 'lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.Workspaces.dll'

Although they are related these messages were in different events.

like image 149
Alexei - check Codidact Avatar answered Oct 11 '22 03:10

Alexei - check Codidact


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
like image 33
Igorgy Avatar answered Oct 11 '22 03:10

Igorgy


I just updated from NET5 - NET6 and thought I'd installed the hosting bundle before getting this error.

enter image description here

You need to actually click the Hosting Bundle link and not the x64 / x86 next to it.

That one file should be all you need. I had installed the x64 runtime only.

like image 12
Simon_Weaver Avatar answered Oct 11 '22 04:10

Simon_Weaver


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.
like image 10
user13822690 Avatar answered Oct 11 '22 05:10

user13822690


In case this helps others, when migrating from .net core 3.1 to .Net 5.

  1. Install the sdk from here.
  2. Update all projects and web in solution to <TargetFramework>net5.0</TargetFramework>.
  3. Update nuget packages.

This all worked fine locally, however, when I pushed the changes to Azure DevOps, all everything run in the pipeline as normal, the web application was giving the same error as the OP.

I solved my issue by going into the Azure Portal:

  1. Navigate to the App Service blade
  2. Under Settings, go to Configuration
  3. General Settings tab and set the Stack to .NET Core.

enter image description here

like image 9
Christian Phillips Avatar answered Oct 11 '22 04:10

Christian Phillips