次の手順で、ASP.net Core1.1アプリをASP.netCore2.0にアップグレードしました。
これで、gitからの自動デプロイが実行され、成功したと表示されますが、アプリは実行されません。次のエラーが発生します。
HTTP Error 502.5 - Process Failure
また、別のWebアプリ展開スロットを追加し、そこに展開してみましたが、同じ結果が得られました。また、手動で低速で変更なしで展開してみました。
ソリューション内のall。csprojファイルに以下を追加する必要がありました
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
</ItemGroup>
受け入れられた答えは私にとって問題を解決しませんでした。
必要な手順:
アプリ内でAzureConsoleを起動し、wwwrootフォルダーの内容を削除してから、再デプロイします。
RMDIR wwwroot /S /Q
また、アプリ内にApplication InsightsExtensionをインストールした場合。アプリが起動すると、アプリが見つからないことを示す例外が表示されます。
このエラーを修正するには、拡張機能ブレードからApplication Insights拡張機能を再インストールし、アプリを再起動します。
Wwwrootフォルダーの問題は、古いCore1.1ファイルが上書きされないことです。ディレクトリの内容を削除すると、問題が解決します。
この問題は、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のどちらかが宛先です)