web-dev-qa-db-ja.com

ASP.net Core2.0のAzureへのデプロイ

次の手順で、ASP.net Core1.1アプリをASP.netCore2.0にアップグレードしました。

  • ターゲットフレームワークを2.0に変更しました
  • すべてのナゲットパッケージをアップグレードしました

これで、gitからの自動デプロイが実行され、成功したと表示されますが、アプリは実行されません。次のエラーが発生します。

HTTP Error 502.5 - Process Failure

また、別のWebアプリ展開スロットを追加し、そこに展開してみましたが、同じ結果が得られました。また、手動で低速で変更なしで展開してみました。

12
Jonathan

ソリューション内のall。csprojファイルに以下を追加する必要がありました

<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
  </ItemGroup>
0
Jonathan

受け入れられた答えは私にとって問題を解決しませんでした。

必要な手順:

アプリ内でAzureConsoleを起動し、wwwrootフォルダーの内容を削除してから、再デプロイします。

RMDIR wwwroot /S /Q

また、アプリ内にApplication InsightsExtensionをインストールした場合。アプリが起動すると、アプリが見つからないことを示す例外が表示されます。

このエラーを修正するには、拡張機能ブレードからApplication Insights拡張機能を再インストールし、アプリを再起動します。

Wwwrootフォルダーの問題は、古いCore1.1ファイルが上書きされないことです。ディレクトリの内容を削除すると、問題が解決します。

5
code

以前の.NETCore 1.1展開で残ったファイルが原因で、同じ問題が発生しました。これを修正する最も簡単な方法は、VSからAzureに公開するときに、公開設定の[ファイルの公開オプション]の下にある[宛先で追加のファイルを削除する]をオンにすることです。

File Publish Options

1
Stefan

この問題は、dotnet core 2.1を対象とするコードにDevOps Pipelineを使用する場合にも発生します。これは、今日の10/2の時点で、AzureがデフォルトのランタイムとしてDotNetCore 3.0を使用しているためです(少なくとも、そのように見えます)。 devopsパイプラインでこの問題を解決するには、SDKをインストールする必要があります

Yamlコード:

 steps:
 - task: UseDotNet@2
  displayName: 'Install Core 2.1'
inputs:
  version: 2.2.104

PS:これは、dotnetを正しいバージョンでコンパイルするために、宛先マシンにもSDKをインストールする必要があることを示しています(AzureまたはWindows Serverのどちらかが宛先です)

0
Apurv Ghai