HTTPエラー500.30-ANCMインプロセス開始エラー


114

パフォーマンスを約400%向上させることを目的とした.net core sdk2.2に付属する新機能を試していました。

印象的だったので、ABP(ASP.NETボイラープレート)プロジェクトで試してみました

Template asp.net core mvc 4.0.2.0

以下をweb.mv.cprojファイルに追加しました

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
  </ItemGroup>

残念ながら、このバージョンのABPフレームワークは互換性がないと思います。プロジェクトが実行に失敗し、次のようにスローされるためです:(最終的に)

HTTPエラー500.30-ANCMインプロセス開始エラー

stdoutLogEnabled="true"web.configに設定して再試行した後、ログを確認しましたが、エントリがありません。

プロセスセットアップでasp.netコアに対して現在のABPを実行することに成功した人はいますか?

これはABPvNextでしか利用できないものかもしれないと思います。


POST属性を持たないパブリック関数がないか確認してください。それはプライベート作る
モハン

回答:


131

ASP.NET Core 2.2では、IISInProcessホスティングと呼ばれる新しいサーバー/ホスティングパターンがIISでリリースされました。インプロセスホスティングを有効にするには、csproj要素AspNetCoreHostingModelを追加して、web.configファイルでhostingModelをインプロセスに設定します。また、web.configは、インプロセスホスティングに必要なAspNetCoreModuleV2と呼ばれる新しいモジュールを指します。

展開先のターゲットマシンにANCMV2がない場合、IISInProcessホスティングを使用することはできません。その場合、正しい動作は、dotnetホスティングバンドルをターゲットマシンにインストールするか、AspNetCoreModuleにダウングレードすることです。

出典:jkotalik(Github)

csprojのセクションを変更してみてください(テキストエディタで編集してください)

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
  </PropertyGroup>

次へ..。

 <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
    <AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
 </PropertyGroup>

ソース(Github)


1
私はあなたの提案を使用しましたが、それをに変更しましたInProcess、そしてそれはうまくいくようです。ありがとう!
Jazb 2018

4
10倍の命の救世主
ValentinPetkov19年

2
私はまた、web.configファイルでホスティングOutOfProcessにインプロセスを変更しなければならなかった
はMateuszMigała

1
AspNetCoreModuleVS2017のデバッグ出力を中断することを忘れないでください。https://github.com/aspnet/AspNetCore/issues/6609
エリック・

1
これにより、IISでのサイトの実行方法が根本的に変わりますか?
ハンゾロ

48

ASP.NET Core3.0以降およびVisualStudio19バージョン16.3以降プロジェクトの.csprojファイルのセクションは次のとおりです-

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

AspNetCoreHostingModelプロパティはありません。ホスティングモデルの選択は、プロジェクトのプロパティにあります。ソリューションエクスプローラーでプロジェクト名を右クリックします。プロパティをクリックします。

ここに画像の説明を入力してください

[デバッグ]メニューをクリックします。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

下にスクロールして、[ホスティングモデル]オプションを見つけます。

ここに画像の説明を入力してください

[アウトプロセス]を選択します。

ここに画像の説明を入力してください

プロジェクトを保存し、IISExpressを実行します。

サーバー展開の更新

サーバーでアプリケーションを公開すると、次のようなWeb構成ファイルがあります。

ここに画像の説明を入力してください

以下のように、「hostingModel」の値を「inprocess」から「outofprocess」に変更します。

ここに画像の説明を入力してください


サーブに公開した後、「hostingModel」の値を「inprocess」から「outofprocess」に変更しましたが、次のエラーが発生します:HTTPエラー502.5-ANCMアウトオブプロセス起動エラー
waki68

値を変更する前に大丈夫ですか?
Mohammad SadiqurRahman20年

いいえ、問題ありませんが、ホスティングバンドルをインストールすることで解決しました
waki 6820

何のweb.configファイルが存在しない場合、あなたはこれを行うことができますどのように
MyDaftQuestions

@MohammadSadiqurRahmanこれは私のために働いた。ただし、outofprocessをOutOfProcessに変更すると役立つ場合があります。私の日を救ってくれてありがとう:)
Mハニフ

21

私の場合、appstettings.jsonファイルのデータベース接続文字列を最近変更しました。ログを記録したりエラーをキャッチしたりしないと、このエラーが発生して「HTTPエラー500.30-ANCMインプロセス開始エラー」エラーが発生したと思われます。

たまたま、x-freestylerとTahir Khalidの間のやり取りに気づきました。そこでは、Tahirが起動時にIOCの問題を提案しました。私のスタートアップは最近変更されていませんが、appstettings.jsonは変更されていたので、appstettings.jsonの接続文字列が問題の原因であると判断しました。間違った接続文字列を修正し、問題は解決しました。コミュニティ全体に感謝します。


4
共有していただきありがとうございます。appsettings.jsonを確認したところ、タイプミスが見つかりました。それで問題は解決しました。
ヘリンジャー

同様に; 私appsettings.jsonファイルが欠落している「{」持っていたときのメッセージ-私は「ANCMインプロセススタートの失敗HTTPエラー500.30」を得た
JTech

おかげで、接続文字列のappsettings.jsonで、ローカルのsqlexpress接続文字列の「\」を「\\」でエスケープできませんでした。したがって、修正前は「Server = machine01 \ SQLEXPRESS; xxxx」でしたが、「Server = machine01 \\ SQLEXPRESS; xxxx」では完全に実行されています!
BAU

正直なところEvent Logs、JSON設定の形式が正しくないことを示すシステムを見るまで、自分の問題に気づいていませんでした。
vandsh

@heringerが経験したのと同様に、接続文字列に無効な文字が含まれていました。それを削除すると問題が解決しました。
アレクサンダーサントス

11

Visual Studioを使用していて、そのインスタンスを実行している場合は、それらをすべて閉じます。

.vsVisual Studioソリューション(.slnファイル)が存在するサブフォルダーを見つける必要があります。フォルダーを
削除.vsして、インプロセスホスティングモデルで再試行してください。


10

ASP.NET Core 2.2以降:インプロセスホスティングモデルを使用する64ビット(x64)の自己完結型の展開の場合、32ビット(x86)プロセスのアプリプールを無効にします。

[IISマネージャー]> [アプリケーションプール]の[アクション]サイドバーで、[アプリケーションプールの既定値の設定]または[詳細設定]を選択します。[32ビットアプリケーションを有効にする]を見つけて、値をFalseに設定します。

ソース:https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view = aspnetcore-3.0#create-the-iis-site


1
この変更は、ASP.NETコアから3.0 3.1への変換私の悩み固定
SteveC

Dotnet Core 3.1:pubxmlでSelfContainedをfalseに変更し、エラーが発生しました。これで修正されました。
AndrewCowenhoven20年

6

Windows 10を実行している開発マシンで同じエラーが発生しました。dotnetcoreホスティングバンドルをインストールした後、エラーは消えませんでした。詳細なエラーを取得するには、イベントビューアに移動する必要がありました。あなたの根本的な問題(もしあれば)は私のものとは異なるかもしれません。重要なのは、Windowsマシンを使用している場合は、イベントビューアが詳細を提供することです。これが誰かを助けることを願っています。

イベントビューアがエラーの詳細を提供


5

アプリケーションの下のWindowsログを見ました。エラーメッセージとスタックトレースが表示されました。node_modulesというフォルダーがないことがわかりました。私はそのフォルダを作成し、それを修正しました。

web.configまたはプロジェクトファイルに変更を加えませんでした。私の.NETCoreAppバージョンは3.1でした


詳細なエラーメッセージを見つけるためにWindowsログを調べるための+ 1-これは私がそれを本当に迅速に修正するのに役立ちました-ありがとう!
tristankoffee

4

場合によっては、JSON設定ファイルを破損して解析できないタイプミスでした。


そして、それはどのようにして可能でしたか?
tnk4 7920

3

.cprojファイルのAspNetCoreHostingModel行を削除するとうまくいきました。うまく機能していた私の別のプロジェクトには、そのようなラインはありませんでした。

<PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
</PropertyGroup>

2
問題を解決するために物事を削除するのは好きではありません。実際の問題が何であったかを隠してしまうためですが、この投稿をx-freestylerに感謝します。その行を削除することで、依存関係が登録されていません!
TahirKhalid19年

3

最近2.0から3.0にアップグレードした.NetCoreプロジェクトでOutOfProcessホスティングからInProcessホスティングに切り替えようとしたときに、同様の問題が発生しました。

続行するのに本当に役立つエラーはなく、これを解決するために何日も費やした後、私は最終的に、これに苦労している他の人に役立つ場合に備えて共有したいと思った私のケースの修正を見つけました。

私にとって、それはいくつかのMicrosoft.AspNetCoreパッケージによって引き起こされました。

バージョンが3.0.0未満の参照されているMicrosoft.AspNetCoreパッケージをすべて削除した後(これらのアップグレードは3.0.0以上でした)、このエラーは発生しなくなりました。

これらは私が削除したパッケージでした。

<PackageReference Include="Microsoft.AspNetCore" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.8" />
<PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="2.2.1" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" />

バージョンが3.0.0以上の他のすべてのMicrosoft.AspNetCoreパッケージは正常に機能しました。



2

この公開プロファイル設定は私のために修正されました:

公開プロファイルの構成->設定->サイト拡張オプション->

  • [x] ASP.NET Core SiteExtensionをインストールします。


2

質問と同じエラーメッセージが表示されることから始まる別の問題を見つけました。プロジェクトファイルを変更する前に、サービスが正しく登録されていることを確認できるように、これをここで共有しています。

私も.netcore2.2を実行していて、同じエラーメッセージを受け取っていたので、選択した回答のようにプロジェクトファイルをInProcessからOutOfProcessに変更しました。その後、「実装タイプをインスタンス化できません」を受け取ったときに、問題の本当の原因を見つけました。これの原因は、次のようなものでした。

services.AddScoped<IMyService, IMyService>();

の代わりに

services.AddScoped<IMyService, MyService>();

関連記事: ジェネリックサービスで「実装タイプをインスタンス化できません」というエラーが表示されるのはなぜですか?


1
これも私の場合でした。ありがとう。
フェリペロメロ

1

InProcessホスティングを使用してIISでasp.netコアアプリケーションをホストすることを決定するために1日を費やした後、私はついにこれを解決できたことを誇りに思い、安心しました。問題を解決するために最善を尽くした同じフォーラム、ブログ、SOの質問を何度も繰り返したが、上記のすべてのアプローチを実行した後も、私は立ち往生していた。ここで、それを解決した私の経験について説明します。

ステップ1:IISでWebサイトを作成する

手順2:WebサイトのAppPoolの.Net CLRバージョンが[マネージコードなし]に設定され、[AppPool]-> [詳細設定]の[32ビットアプリケーションを有効にする]プロパティがfalseに設定されていることを確認します

ステップ3:プロジェクトが.Net core2.2を参照していることを確認します

ステップ4:ConfigureServicesメソッド内のstartup.csファイルに次の行を追加します

services.Configure<IISServerOptions>(options =>
{
     options.AutomaticAuthentication = false;
});

手順6:次のNugetパッケージを追加します

Microsoft.AspNetCore.Appv2.2.5以降

Microsoft.AspNetCore.Server.IISv2.2.2以降

ステップ7:.csprojファイルに次の行を追加します

<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

ステップ8:コードをビルドして公開します(できればx64ビットネス

ステップ9:etc / hostsファイルにWebサイトのホスト名を追加したことを確認します

ステップ10:World Wide Web PublishingServiceを再起動します

次に、asp.netコアアプリケーションをテストし、InProcessホスティングを使用してホストする必要がありますアプリがInProcessモードを使用してホストされているかどうかを確認するには、応答ヘッダーを確認します。次の行が含まれている必要があります

サーバー:Microsoft-IIS / 10.0(IISバージョンはシステムに依存している可能性があります)

更新:動作するために必要なASP.Netコアホスティングバンドルをダウンロードしてインストールします


1

AspNetCoreModuleV2専用のアプリプールを実行することで問題を解決しました

説明:

HTTP Error 500.34 - ANCM Mixed Hosting Models Not Supported

同じアプリプールで複数のアプリケーションを実行していました。一部のアプリケーションが実行されていました

<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />

エラーの原因となったアプリケーションはAspNetCoreModuleV2を実行していました

<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />

AspNetCoreModuleV2専用の新しいアプリプールを作成しましたが、問題は解決しました。


1

2.2から3.1にアップグレードするときに、Azure AppServiceでこの問題が発生しました。その理由は、「ASP.NET Core 2.2(x86)ランタイム」拡張機能がAppServiceにインストールされたためです。Kuduからその拡張機能を削除すると、問題が修正されました。


1

うわー、この質問にはたくさんの答えがありますが、私はこれと同じ問題を抱えていて、私の解決策は私がここで読んだものとは異なり、また非常に単純でした。

適切な環境設定でAzureにアプリをデプロイする際に問題が発生したため、launchsettings.jsonファイルをいじり、IISプロファイルのASPNETCORE_ENVIRONMENT変数の値を「開発」から「本番」に変更しました。 。「開発」に戻すと、問題が修正されました。

  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }

1

私の場合、appsettings.jsonファイルの値が間違っていました。値はでした.\SQLEXPRESS、そして私がそれを変更した後にそれは働きました.\\SQLEXPRESS


私の原因は、appsettings.jsonファイルの形式が正しくないことです。
fosbie


0

アプリケーションがクラッシュするため。この例外で時間を節約する人のために!

また、エラーコードは、初期段階でファイルが見つからないため、例外をスローすることを示しています。「環境設定」セクションを参照してください。私のシナリオでは、次のコードを変更すると機能しました

var environment = whb.GetSetting("environment");

var environment = "Development";// whb.GetSetting("environment");

appsettings.development.jsonはありますが、appsettings.production.jsonはありませんでした。適切な場所で別のものを探しているためにファイルが見つからないのはなぜですか。


0

.Net Core 2.2では、InProcessホスティングモデルを使用できるはずです。これは当然高速であるためです。IISとアプリのKestrelサーバー間の追加のHTTPホップなしで、すべてがIISで処理されます。次のタグを追加することをお勧めします。AspNetCoreModuleV2新しいAspNetCoreModuleV2と古いAspNetCoreModuleオプションに注目してください。もう1つの重要なことは、Windowsアプリケーションイベントログを調べて、原因を特定することです。エラーメッセージは不可解な場合がありますが、失敗の原因となったコードの正確な行番号を示している場合があります。また、TFSでCI / CDを使用する場合、appsettings.jsonファイルに環境変数が適切に指定された値に置き換えられていない可能性があり、これは私にとって例外的なソースの1つでした。


0

Program.csファイルに問題がありました。AddAzureKeyVaultずっと前に削除されたものと接続しようとしていました。

結論

This error could come to due to any silly error in the application. Debug step by step your application startup process.

0

私の場合、Azureの特定の環境で実行すると失敗する移行がありましたが、開発では正常に実行されていました。スタートアップの一部として移行を実行するようにサービスが構成されているため、Webアプリの実際のスタートアップは失敗します。

環境で手動で移行を実行して問題を発見し、その環境でのデータの違いに対処するように調整しました。

DBを手動で直接実行せずに、移行エラーを確認する方法を誰かが知っている場合は、それが役立ちます。


0

私は同じ問題を抱えていました。それは私の側の愚かな間違いであることが判明しました。

ServiceCollectionで登録しようとしました abstract class

services.AddScoped<IMyInterface, MyClasss>();

理由は不明ですMyClassabstract、どこにありましたか:)

男はあなたが得た場合はHTTP Error 500.30 - ANCM In-Process Start Failure ちょうどあなたを見直しますServiceCollection


0

私にとっては、すべてが順調でしたが、問題は異なるVSバージョンによる公開が原因でした。(最新のVS 2019(16.4.2))。VS 2017でアプリケーションを公開すると、正常に動作します。

実際の問題は、その依存関係のJSONファイル(例えばであるMyWebApp.deps.json公開フォルダ内)。それが誰かを助けることを願っています。

ここに画像の説明を入力してください


最近、ファイルが公開フォルダーにあることがわかりました。しかし、evenLogsのエラーメッセージはこのdep.jsonファイルを指しており、言及されているこのJSONファイルのパスはruntimes/win-x64/native、これが同じフォルダーまたはパスを指しているかどうかはわかりません
PremchandraSingh19年

私がevenlogで抱えている実際の問題は、次のとおりです Could not find inprocess request handler. Captured output from invoking hostfxr: Error: An assembly specified in the application dependencies manifest (Cues.Web.deps.json) was not found: package: 'runtime.win-x64.Microsoft.NETCore.App', version: '2.2.8' path: 'runtimes/win-x64/native/mscordaccore_amd64_amd64_4.6.28207.03.dll'
PremchandraSingh19年

0

Plzは、全体を理解するために、この同じスレッドで私の前の回答を参照してください。複数の回答でごめんなさい

さらに調査した後、VS 2019が.netコア2.2の最新のパッチ(VSのデフォルトの動作)を選択したために問題が発生していました。これは、アプリケーションを公開するための2.2.8です。を使用して、これを特定のバージョンの選択に制限できます。

<RuntimeFrameworkVersion>2.2.4</RuntimeFrameworkVersion>

こちらをご覧ください。これにより、最新のパッチが適用されていなくても、最終的に私の問題は解決しました。VS2017またはVS2019からビルドでき、どちらも.net core2.2.0ランタイムバージョンのアプリケーションを公開します

ここに画像の説明を入力してください


0

同じエラーが発生し、問題はMicrosoft.Extension.Primitivesバージョンのパッケージが.netコアバージョンと互換性がなかったことにありました。そして、これは私のプロジェクトからの参照が参照していたプロジェクトの1つからの参照でした。

そのプロジェクトでMicrosoft.Extension.Primitivesを変更した後。この問題は修正されました。

Azureイベントログで、発生しているエラーと、それがパッケージ参照に関連しているかどうかを確認します。私が言及した上記のことを試してください。

nugetパッケージは.netバージョンと緊密に結合されているためです。プロジェクトを参照するすべてのパッケージも.netバージョンと緊密に結合されていることを確認する必要があります。


0

私にとっては、独自のWebHostBuilderを作成した複雑なアプリのスタートアップがありました。これは正常に機能しましたが、InProcessホスティングモードを試したときに失敗しました。WebHostBuilderで呼び出すのを逃したものがあったと思います。そのため、常にWebHost.CreateDefaultBuilder(args)を呼び出してから、基本的に新しいアプリテンプレートと同じように追加の変更を加えるようにしました。

または、(IWebHostBuilderではなく)IHostBuilderを使用するaspコア3.1テンプレートの場合は、ConfigureWebHostDefaultsを呼び出します。

 public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                // add stuff here
                webBuilder.UseStartup<Startup>();
            });

0

私の場合、上記の解決策のどれもうまくいきませんでした。しかし、myproject.vspsccファイルをソリューションエクスプローラーから削除すると、問題は解決しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.