AzureWebアプリとしてデプロイする.NETCoreWebアプリケーションがあります。
これは、昨夜Visual Studio 2017アップグレード(v15.2)を適用するまで完全に機能していました。
.netコアバージョンが1.1.1から1.1.2にアップグレードされました。 Azureにデプロイすると、Webサイトが502.5エラーで起動しません。
調査したところ、.NET Core1.1.2がAzureイメージにデプロイされていないことがわかりました。
新しいフレームワークをWebアプリインスタンスにインストールできません(当然のことながら、Program Filesディレクトリでアクセス許可が拒否されています)。バージョンが「プロジェクトによってブロックされている」と報告されるため、nugetパッケージマネージャーを使用して「ダウングレード」することはできません。 csprojファイルでMicrosoft.NETCore.Appのバージョンを定義する方法がわかりません。これは、ルートによって「自動的に」制御されているようです<Project Sdk="Microsoft.NET.Sdk.Web">
要素。
自己完結型のデプロイメント(Webアプリと一緒にフレームワークを出荷する)を試みましたが、これも機能しません。
新しいバージョンがAzureにデプロイされるのを待つ以外に(このスケジュールに関する情報が見つかりません)、Webアプリを再び機能させる方法について誰かがアイデアを持っていますか?
1.1.1で実行するように強制する方法はありますか?
2017年5月12日更新:1.1.2および1.0.5のApp Serviceへの展開を加速し、完了しました。したがって、以下の回避策は誰も必要としなくなります。
元の解決策
最善の回避策は、これを.csprojファイルに設定することです。
<TargetFramework>netcoreapp1.1.1</TargetFramework>
netcoreapp1.1
に設定する代わりに。火曜日までに1.1.2をAzureApp Serviceにデプロイします。その時点で、回避策は必要ありません。
netcoreapp1.1.1
に設定すると、1.1.2が使用可能になると、それに自動ロールフォワードされることに注意してください。したがって、netcoreapp1.1.1
に設定しても、そのバージョンに「スタック」し続けることはありません。これは、ポータブルモードを使用している限り当てはまります(つまり、OS上にあるフレームワークに依存しています)。スタンドアロンを使用して独自のフレームワークをデプロイする場合は、それに固執することになります(ただし、そもそもこの問題は発生しておらず、その必要もありませんでした!)。
Visual Studio 2017の更新後も、同じ問題が発生しています。
回避策は、展開後にKuduでサイトのweb.configを編集することです。
--fx-version 1.1.1
の下のaspNetCore
エントリの引数値の先頭にsystem.webServer
を追加します
例:<aspNetCore processPath="%LAUNCHER_PATH%" arguments="--fx-version 1.1.1 PATH_TO_DLL" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
彼らが1.1.2をWebアプリイメージにデプロイするまで、プロジェクトにMicrosoft.NETCore.App1.1.1を参照させることでこれを修正することができました。
Csprojファイルを編集します。
<ItemGroup> <PackageReference Update="Microsoft.NETCore.App" Version="1.1.1" /> <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" /> <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" /> ... etc