web-dev-qa-db-ja.com

HTTPエラー500.31-ANCMがIISでネイティブの依存関係を見つけることができませんでした

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.AppMicrosoft.AspNetCore.Appの両方にバージョン3が含まれていることがわかります。PSC:\ Users\FooBar> dotnet --info .NET Core SDK(グローバルを反映しています)。 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 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.

IISがサーバーでこのエラーをスローするのはなぜですか?

注:Visual Studio 2019から機能します。

9
Westerlund.io

同じ問題があります。私の場合、問題はdotnet publishコマンドの誤った [〜#〜] rid [〜#〜] にありました。自己完結型の展開を行っていて、それをアプリサービスにダウンロードしました。

その結果、コマンドは次のようになります。

dotnet publish -c Debug -r win-x86 --self-contained
6
Igorgy

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 '

それらは関連していますが、これらのメッセージは異なるイベントにありました。

2
Alexei

このエラーには多くの理由が考えられます。正確なエラーを見つけるには、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-->
0
prisan

開発サーバーからステージングサーバーに展開したときにも同じエラーメッセージが表示されました。 NugetパッケージMicrosoft.NetCore.App(バージョン2.2.8)を追加して問題を修正しました。時々答えはエラーメッセージにあります。

0
CodeCaptain

ワークステーションに不足しているパッケージの名前を一覧表示するのと同じ問題がありました。コマンドプロンプトを開き、以下で実行して、マシンで使用可能なすべてのパッケージを確認します。

dotnet --info

インストールされているすべての.NetコアSDKとランタイムが一覧表示されます。次に、天気に必要なパッケージが不足しているかどうかを確認します。これらの必要なパッケージは、公式サイト https://dotnet.Microsoft.com/download/dotnet-core からインストールできます。ソリューションを再構築すれば、機能するはずです。

0
Omkar Manjare