Aspnetcore: インプロセスアプリケーション開始の問題

作成日 2018年12月25日  ·  3コメント  ·  ソース: dotnet/aspnetcore

こんにちは!
インプロセスホスティングモデルを使用してウェブアプリをホストしようとしています。 と...
アプリケーションを起動できません。
500.30でのIIS応答。
ANCMログにはこれが含まれています。
hostingModelをOutOfProcessに切り替えると、すべて問題ありません。

私のweb.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath=".\Dodo.ClientSite.exe" arguments="" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" hostingModel="InProcess">

         <handlerSettings>
                  <handlerSetting name="debugFile" value=".\aspnetcore-debug.log" />
                  <handlerSetting name="debugLevel" value="FILE,TRACE" />
              </handlerSettings>
      </aspNetCore>
   </system.webServer>
</configuration>

ログ

`` `
[aspnetcorev2.dll] ASPNET_CORE_GLOBAL_MODULE :: OnGlobalConfigurationChange'MACHINE / WEBROOT / APPHOST / RU-DEV-GS-GSITE.EXT.DEV.DODOIS.COM '
[aspnetcorev2.dll]アプリケーション '/ LM / W3SVC / 340 / ROOT'を停止しています
[aspnetcorev2_inprocess.dll]ファイルウォッチャースレッドを停止しています
[aspnetcorev2.dll] ASPNET_CORE_GLOBAL_MODULE :: OnGlobalStopListening
[aspnetcorev2.dll] ASPNET_CORE_GLOBAL_MODULE :: Terminal
[aspnetcorev2.dll]「C:\ ProgramFiles \ IIS \ Asp.Net Core Module \ V2 \ aspnetcorev2.dll」のログを初期化しています。 プロセスID:9476 ..ファイルバージョン:12.2.18316.0。 説明:IISASP.NETコアモジュールV2。 コミット:ce8cf65589734f82b0536c543aba5bd60d0a5a98。
[aspnetcorev2.dll]アプリケーションのhostfxrパラメーターの解決: '。\ Dodo.ClientSite.exe'引数: ''パス: 'E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com \'
[aspnetcorev2.dll]既知のdotnet.exeの場所: ''
[aspnetcorev2.dll]プロセスパス '。\ Dodo.ClientSite.exe'はdotnetではなく、アプリケーションをスタンドアロンまたはブートストラッパーを使用したポータブルとして扱います
[aspnetcorev2.dll] 'E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com。\ Dodo.ClientSite.dll'にあるapplication.dllを確認しています
[aspnetcorev2.dll]「E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com。\ hostfxr.dll」でhostfxr.dllを確認しています
[aspnetcorev2.dll] hostfxr.dllは、「E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com。\ hostfxr.dll」でローカルアプリを検出し、ランチャーでアプリケーションをポータブルとして扱います
[aspnetcorev2.dll]「dotnet」からdotnet.exeへの絶対パスを解決しています
[aspnetcorev2.dll] where.exeを呼び出してdotnet.exeを検索する
[aspnetcorev2.dll] where.exe呼び出しが返されました: 'C:\ Program Filesdotnetdotnet.exe
C:\ Program Files(x86)dotnetdotnet.exe
'
[aspnetcorev2.dll] isX64 = 1として検出された現在のプロセスビットネスタイプ
[aspnetcorev2.dll]エントリ 'C:\ Program Filesdotnetdotnet.exe'を処理しています
[aspnetcorev2.dll]バイナリタイプ6
[aspnetcorev2.dll]「C:\ ProgramFilesdotnetdotnet.exe」でwhere.exe呼び出しを介してdotnet.exeが見つかりました
[aspnetcorev2.dll]「C:\ ProgramFilesdotnetdotnet.exe」からhostfxr.dllへの絶対パスを解決しています
[aspnetcorev2.dll] 'C:\ Program Filesdotnet \ host \ fxr \ 2.2.0 \ hostfxr.dll'にあるhostfxr.dll
[aspnetcorev2.dll]解析されたhostfxrオプション:dotnetの場所: 'C:\ Program Filesdotnetdotnet.exe' hostfxrパス: 'C:\ Program Filesdotnet \ host \ fxr \ 2.2.0 \ hostfxr.dll'引数:
[aspnetcorev2.dll]引数[0] = 'C:\ Program Filesdotnetdotnet.exe'
[aspnetcorev2.dll]引数[1] = 'E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com。\ Dodo.ClientSite.dll'
[aspnetcorev2.dll] c:\ b \ w \ e37dd45d8cd1eaf4 \ src \ iisintegration \ src \ aspnetcoremodulev2 \ commonlib \ fileoutputmanager。 cpp:142操作がLastErrorで失敗しました:32 HR:0x80070020
[aspnetcorev2.dll]リクエストハンドラを読み込んでいます: 'E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com \ aspnetcorev2_inprocess.dll'
[aspnetcorev2.dll]ハンドラーアプリケーションの作成
[aspnetcorev2_inprocess.dll] 'E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com \ aspnetcorev2_inprocess.dll'のログを初期化しています。 プロセスID:9476 ..ファイルバージョン:12.2.18316.0。 説明:IISASP.NETコアモジュールV2要求ハンドラー。 コミット:ce8cf65589734f82b0536c543aba5bd60d0a5a98。
[aspnetcorev2_inprocess.dll]初期化を待機しています
[aspnetcorev2_inprocess.dll]インプロセスワーカースレッドを開始しています
[aspnetcorev2_inprocess.dll]アプリケーションのhostfxrパラメーターの解決: '。\ Dodo.ClientSite.exe'引数: ''パス: 'E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com \'
[aspnetcorev2_inprocess.dll]既知のdotnet.exeの場所: 'C:\ Program Filesdotnetdotnet.exe'
[aspnetcorev2_inprocess.dll]プロセスパス '。\ Dodo.ClientSite.exe'はドットネットではなく、アプリケーションをスタンドアロンまたはブートストラッパーでポータブルとして扱います
[aspnetcorev2_inprocess.dll] 'E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com。\ Dodo.ClientSite.dll'にあるapplication.dllを確認しています
[aspnetcorev2_inprocess.dll]「E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com。\ hostfxr.dll」でhostfxr.dllを確認しています
[aspnetcorev2_inprocess.dll] hostfxr.dllは、「E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com。\ hostfxr.dll」でローカルアプリを検出し、ランチャーでアプリケーションをポータブルとして扱います
[aspnetcorev2_inprocess.dll] 'C:\ ProgramFilesdotnetdotnet.exe'からhostfxr.dllへの絶対パスを解決しています
[aspnetcorev2_inprocess.dll] 'C:\ Program Filesdotnet \ host \ fxr \ 2.2.0 \ hostfxr.dll'にあるhostfxr.dll
[aspnetcorev2_inprocess.dll]解析されたhostfxrオプション:dotnetの場所: 'C:\ Program Filesdotnetdotnet.exe' hostfxrパス: 'C:\ Program Filesdotnet \ host \ fxr \ 2.2.0 \ hostfxr.dll'引数:
[aspnetcorev2_inprocess.dll]引数[0] = 'C:\ Program Filesdotnetdotnet.exe'
[aspnetcorev2_inprocess.dll]引数[1] = 'E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com。\ Dodo.ClientSite.dll'
[aspnetcorev2_inprocess.dll]マネージが例外をスローしました-1073741819
[aspnetcorev2_inprocess.dll]シャットダウンシーケンスの開始1
[aspnetcorev2_inprocess.dll] Clrスレッドの待機が終了しました:clrThreadExited:1
[aspnetcorev2_inprocess.dll] c:\ b \ w \ e37dd45d8cd1eaf4 \ src \ iisintegration \ src \ aspnetcoremodulev2 \ commonlib \ fileoutputmanager。 cpp:142操作がLastErrorで失敗しました:32 HR:0x80070020
[aspnetcorev2_inprocess.dll]イベントログ: 'アプリケーション' / LM / W3SVC / 340 / ROOT 'と物理ルート' E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com \ 'ヒット予期しないマネージド例外、例外コード= '0xc0000005'。 詳細については、stderrログを確認してください。
イベントログメッセージを終了します。
[aspnetcorev2_inprocess.dll]インプロセスワーカースレッドを停止しています
[aspnetcorev2_inprocess.dll] CLRを停止しています
[aspnetcorev2_inprocess.dll]イベントログ: 'アプリケーション' / LM / W3SVC / 340 / ROOT 'と物理ルート' E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com \ 'がclrの読み込みに失敗しましたおよびマネージドアプリケーション。 CLRワーカースレッドが途中で終了しました」
イベントログメッセージを終了します。
[aspnetcorev2_inprocess.dll]例外 'InvalidOperationException'がc:\ b \ w \ e37dd45d8cd1eaf4 \ src \ iisintegration \ src \ aspnetcoremodulev2 \ inprocessrequesthandler \ inprocessapplicationでキャッチされました。 cpp:350
[aspnetcorev2_inprocess.dll]失敗したHRESULTが返されました:0x8007023e at c:\ b \ w \ e37dd45d8cd1eaf4 \ src \ iisintegration \ src \ aspnetcoremodulev2 \ inprocessrequesthandler \ dllmain。 cpp:120
[aspnetcorev2_inprocess.dll]アプリケーション 'E:\ sites \ ru-dev-gs-gsite.ext.dev.dodois.com \'でapp_offline監視を開始します
[aspnetcorev2_inprocess.dll]ファイルウォッチャースレッドを開始しています
[aspnetcorev2.dll] ASPNET_CORE_GLOBAL_MODULE :: OnGlobalConfigurationChange'MACHINE / WEBROOT / APPHOST / RU-DEV-GS-GSITE.EXT.DEV.DODOIS.COM '
[aspnetcorev2.dll]アプリケーション '/ LM / W3SVC / 340 / ROOT'を停止しています
[aspnetcorev2_inprocess.dll]ファイルウォッチャースレッドを停止しています
[aspnetcorev2.dll] ASPNET_CORE_GLOBAL_MODULE :: OnGlobalStopListening
[aspnetcorev2.dll] ASPNET_CORE_GLOBAL_MODULE :: Terminal
`` ``

area-servers servers-iis

最も参考になるコメント

Program.Mainが例外をスローしています。 おそらくCurrentDirectoryの問題が原因です:#4206。 現時点で推奨される回避策は次のとおりです: https

InProcessの実行時に同じエラー(500.30でのIIS応答)が発生するため、提案された修正を適用して、現在のバージョンの.Net Core2.2で修正する必要があるかどうかわからない問題を解決するのに問題があります。 ログを有効にすると、返されるディレクトリが正しいディレクトリではないため、問題が同じ問題に関連していることがわかりました。 代わりに、システム内でIISサービスが実行されているパスを返しました。 修正を適用するために、CurrentDirectoryHelper.csをプロジェクトにコピーし、SetBasePathを設定する前にProgram.csから呼び出しました。

logger.LogWarning($"Applying Patch to fix Current Directory issue. Current Directory: {Environment.CurrentDirectory}"); //TODO: the line below can be removed when the bug with InProcess method is fixed (more details, follow the class definition and read the comments) CurrentDirectoryHelpers.SetCurrentDirectory(); logger.LogWarning($"Fix applied. Current Directory now is: {Environment.CurrentDirectory}");
修正をそのまま適用しても、同じ結果が得られます。
OutOfProcessとして実行している場合、およびIIS Expressで実行している場合、アプリケーションは正常に起動します

誰かがこれを手伝ってくれませんか?

全てのコメント3件

Program.Mainが例外をスローしています。 おそらくCurrentDirectoryの問題が原因です:#4206。 現時点で推奨される回避策は次のとおりです: https

回避策で問題が解決したと思います。 それ以外の場合は、お気軽に再開してください。

Program.Mainが例外をスローしています。 おそらくCurrentDirectoryの問題が原因です:#4206。 現時点で推奨される回避策は次のとおりです: https

InProcessの実行時に同じエラー(500.30でのIIS応答)が発生するため、提案された修正を適用して、現在のバージョンの.Net Core2.2で修正する必要があるかどうかわからない問題を解決するのに問題があります。 ログを有効にすると、返されるディレクトリが正しいディレクトリではないため、問題が同じ問題に関連していることがわかりました。 代わりに、システム内でIISサービスが実行されているパスを返しました。 修正を適用するために、CurrentDirectoryHelper.csをプロジェクトにコピーし、SetBasePathを設定する前にProgram.csから呼び出しました。

logger.LogWarning($"Applying Patch to fix Current Directory issue. Current Directory: {Environment.CurrentDirectory}"); //TODO: the line below can be removed when the bug with InProcess method is fixed (more details, follow the class definition and read the comments) CurrentDirectoryHelpers.SetCurrentDirectory(); logger.LogWarning($"Fix applied. Current Directory now is: {Environment.CurrentDirectory}");
修正をそのまま適用しても、同じ結果が得られます。
OutOfProcessとして実行している場合、およびIIS Expressで実行している場合、アプリケーションは正常に起動します

誰かがこれを手伝ってくれませんか?

このページは役に立ちましたか?
0 / 5 - 0 評価