web-dev-qa-db-ja.com

ASP.NET Core 2.1 Preview 2アプリがAzure App Serviceで機能しない

このリリースが利用可能になって以来、AzureでASP.NET Core 2.1 Preview-1アプリを実行しています。ポータルからASP.NET Coreランタイム拡張機能をインストールしましたが、正常に動作しています。

マイクロソフトがASP.NET Core 2.1 Preview-2をリリースしたので、SDKへのアップグレードをインストールしました。 Nugetパッケージを更新して、すべてのプレビュー2バージョンを入手できるようにしました。以下のcsprojファイルを参照してください: enter image description here

また、2.1 Preview-1を表示していたアプリのAzure App ServiceからASP.NET Core Runtime拡張機能を削除しました。代わりに、ASP.NET Core 2.1ラン​​タイムをx86とx64に別々にインストールしました-以下を参照してください enter image description here

アプリをコンパイルしてAzure Appサービスに公開しましたが、エラーが発生します。まず、502.5エラーが発生しました。今、私は得ています:

指定されたCGIアプリケーションでエラーが発生し、サーバーがプロセスを終了しました。

ここで何が欠けていますか?

更新:

答えが示唆したように、私はターゲットをx86に設定しました(安全にプレイするため)-以下を参照してください:

enter image description here

拡張機能と個々のx86およびx64ランタイムを削除し、ASP.NET Core 2.1 preview-2をサポートするx86のみをインストールしました-以下を参照してください: enter image description here

アプリを何度か再起動しましたが、まだ502.5を取得しています。

次に、次のコマンドを発行して、CLIコマンドラインから自己展開を試みました。

dotnet publish -c Release -r win10-x64

そして、私は次のエラーを受け取ります:

C:\ Program Files\dotnet\sdk\2.1.300-preview2-008530\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(125,5):error:RuntimeIdentifierプラットフォーム 'win10-x64 'とPlatformTarget' x86 'は互換性がなければなりません。

これは、x86バージョンのSDKがインストールされていて、x86をターゲットにする必要があることを意味しますか?

ASP.NET Core 2.0から2.1に移行するときに発生する問題の半分はありませんでした!!!!

更新2:Kuduコンソールでdotnet --infoを実行したところです。これを正しく読んでいる場合、正しいランタイムがありません。

enter image description here

更新3:

このスクリーンショットは私が言っていたことを確認するものだと思います。 enter image description here

更新4:

ASP.NET Core 2.1ラン​​タイムのx86バージョンをインストールしました-以下を参照してください enter image description here

Kuduコンソールでdotnet --infoを実行すると、以下が表示されて混乱します。まだ予期していたバージョンが表示されません。

enter image description here

また、URLにアクセスしても、502.5が表示され、dotnet MyApp.dllを実行すると、Kuduコンソールに同じバージョンのランタイムが見つからないというメッセージが表示されます。

どのようにして正しいバージョンをそこに入れるのですか?ポータルからインストールすればうまくいくと思いました。

13
Sam

「自己完結型」デプロイメントモードを使用して、ASP.NET Core 2.1 RC1 webappをAzure app-serviceに公開できました。

プラットフォームターゲット:任意のCPU

.csprojからのパッケージ参照は次のとおりです。

<PackageReference Include="Microsoft.AspNetCore.App" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.0-rc1-final" PrivateAssets="All" /> <PackageReference Include="Microsoft.AspNetCore.AzureAppServicesIntegration" Version="2.1.0-rc1-final" />

2
Sergiy

これを機能させるために私が取った手順:

  • 2.1-preview1 ASP.NET Core Runtime Extensionを削除します。
  • アプリケーションの設定を確認して、32ビットまたは64ビットのどちらで実行しているかを確認します。
  • 一致する(32ビットまたは64ビット)ASP.NET Core 2.1ラン​​タイムのみをインストールします。
  • Webアプリを再起動します。

再起動は重要です。再起動する前に、.NET Coreツールは間違ったバージョンであり、502.5エラーも発生します。

32ビットと64ビットの両方のランタイムをインストールしたので、アプリケーションで不要なランタイムを削除して、Webアプリを再起動してみます。

2
Kjetil Limkjær

Azure上のasp.net core 2.1 Preview 2でプロジェクトを機能させました。私は次の手順を実行しました。

  1. Azureアプリサービス拡張機能から古いasp.netコア拡張機能を削除しました
  2. Kudusを使用すると、サイトのwwwrootフォルダー内のすべてのファイルが削除されました。
  3. 下の図に示すように、Azureからasp.netコアサイト拡張機能をインストールし、アプリサービスを再起動しました

    Azure Web App Site Extension

  4. Azureにデプロイする前に、使用される発行構成オプションは、下図に示すとおりです Azure App Service Publish Configuration in VS 2017 15.7 Preview 3

それでおしまい。

1

ここで私のために働いているように見える唯一のものです。

私は使用して自己完結型の展開を行いました

dotnet publish --self-contained -r win10-x64 -c Release

次に、手動で展開する必要がありました。私の場合はFTPを使用しています。

この問題を本当に解決したいのですが、次の展開で解決しない場合は、Zip展開を実行します。私のアプリにはReactJsフロントエンドがあるため、何千ものファイルをデプロイする必要があり、FTPはそれほど楽しくありませんでした。

このアプローチは、Azure App Serviceに何がインストールされているか、または何がインストールされていないかに依存しないため、はるかに簡単なソリューションです。

それでも、Visual Studioで[公開]をクリックするだけでよいのですが。

更新:Zipの展開を行ったばかりで、Zipの展開は成功したにもかかわらず、以前に発生していたエラーがまだ発生します。だから、まだ何かがおかしい! enter image description here

0
Sam

複雑なウェブサイトで問題が発生したため、同じバージョンで設定されたAppファイルのみを使用したシンプルなウェブサイトを作成しました。

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App"  Version="2.1.3" />
  </ItemGroup>

次に、Tim Diekmannの例から、Azureパブリッシング構成のDeployment ModeSettingsSelf-Containedに変更する以外は何もしませんでしたそしてそれはうまくいった。

0
CrispinH

私も同じ問題を抱えていました。ようやく2時間後に修正しました。

これが私の設定です:

拡張:

enter image description here

コンソールdotnet --infoコマンド:

enter image description here

コンソールkudu dotnet --versionコマンド:

enter image description here

a)拡張機能をインストールしたら、必ずアプリを再起動してください。

b)古いファイルからwwwrootフォルダーをクリアして、再度公開します。

0
Norbert Pisz

次の内容でglobal.jsonファイルをプロジェクトフォルダに追加してみてください:

{
  "sdk": {
    "version": "2.1.300-preview2-008530"
  }
}

その後、アプリを再起動して安全を確保します。

0
Matias Quaranta