web-dev-qa-db-ja.com

エラー「ANCMインプロセスハンドラーの読み込みエラー」を修正する方法

IIS Windows Server 2016 Standardの最初のサイトをセットアップしています。これはNET Core 2.2アプリケーションです。サイトを表示できません。

このエラーが発生しています:

HTTPエラー500.0-ANCMインプロセスハンドラーの読み込みエラー

このエラーをクリアしてサイトを表示するには、何を変更すればよいですか?

私のアプリケーションはdllです。

コマンドプロンプトを使用して、サーバーでアプリケーションをテストしました。

dotnet ./MyApp.dll

これはブラウザに表示されますが、(localhost:5001/)が付いているサーバー自体にのみ表示されます。

この方法を使用すると、他のサーバーからサイトにアクセスできません。 IISを介してサイトをセットアップすると、サーバーとサイトにアクセスしようとするサーバーの両方でインプロセスエラーが発生します。最初、アウトプロセスエラーを受け取りました。私が読んだ何かがこれ(hostingModel = "inprocess")をweb.configに追加するように言ったので、追加しましたが、インプロセスエラーを受け取りました。

私はこれを3日間調べており、私が試みたすべてがそれを修正するわけではありません。

開発サーバーにインストールすると、サイトは正常に動作します。

イベントビューアには、「IIS AspNetCore Module V2」の次のエラーが表示されます。

アプリケーション '/ LM/W3SVC/2/ROOT'の開始に失敗しました、エラーコード '0x8000ffff'。

これは私のweb.configです:

<?xml version="1.0" encoding="utf-8"?>
    <configuration>
  <system.web>
    <customErrors mode="RemoteOnly"></customErrors>
        <identity impersonate="false" password="****" userName="****" />
  </system.web>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\MyApp.dll" stdoutLogEnabled="false" hostingModel="inprocess" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false">
      <environmentVariables />
    </aspNetCore>
  </system.webServer>
</configuration>
16
Mark

同じエラーが発生しました。

Microsoft( https://dotnet.Microsoft.com/download/dotnet-core/current/runtime )によると、 'ASP.NET Core Hosting Bundle 'ホスティングサーバー。

'ASP.NET Core Hosting Bundleには、.NET CoreランタイムとASP.NET Coreランタイムが含まれています。 IISがインストールされているマシンにインストールした場合、ASP.NET Coreも追加されますIIS Module '

私が行った後、 'AspNetCoreModuleV2'がサーバーにインストールされ、すべてが正常に動作します。 'web.config'ファイルを変更する必要はありませんでした。

0
user2760293

IIS urlを使用してサイトにアクセスしようとしたが、Visual StudioがIISExpressを使用するように設定されている場合、これを取得できます

参照 ASP.Net Core 1.0 RC2:web.configで言及されているLAUNCHER_PATHおよびLAUNCHER_ARGSとは

簡単に言えば、IISとIISExpressを切り替えると、web.configがVisual Studioによって変更されます。IIS urlを使用する場合、 IISExpressの場合、aspNetCore processPathは間違ったものになります

また、web.configファイルをコピーすることも珍しくありません。 processPathを変更しないと、同じエラーが発生する可能性があります

0
tony

私にとってそれは私が私のアプリでASPNETCORE_ENVIRONMENT環境変数が2回定義されているためでした-1つはweb.configで、もう1つはapplicationhost.configで

0

ここでこれを修正しました Asp.Net Coreがロードに失敗します -プログラムがインプロセスモデルまたはアウトプロセスモデルを使用することを指定する必要があります。

CreateWebHostBuilderを次のように変更しました。

public static IWebHostBuilder CreateWebHostBuilder(string[] args) 
{
    var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
    var builder = WebHost.CreateDefaultBuilder(args);

    if (env == EnvironmentName.Staging || env == EnvironmentName.Production)
        builder.UseIIS();

    builder.UseStartup<Startup>();
    return builder;
}

PS。 ASPNETCORE_ENVIRONMENTを.pubxmlデプロイメントプロファイルに追加します。

<PropertyGroup>
    <EnvironmentName>Staging</EnvironmentName>
</PropertyGroup>
0
Liam

私の特定の問題については、それはIISのサイト権限でした。

「Everyone」へのアクセス許可を編集したところ、うまくいきました。私はこのページから情報を得ました: https://github.com/aspnet/AspNetCore/issues/6111

0
Mark