MASUDAQ Blog

NO DEVELOPMENT NO LIFE.

Azure Web Apps ASP.NET Core 2.1 対応

以下の記事にもありますが、2018 年 5 月 30 日に、.NET Core 2.1 と ASP.NET Core 2.1 がリリースされました。

パフォーマンスの大幅な改善により、今後、.NET Core ベースのアプリケーションが増えていくことが予測されます。

.NET Core 2.0 から、2.1 への移行でもパフォーマンスの改善が体感できます。

そこで、前出の記事のようにアプリケーションを .NET Core 2.0 から 2.1 への移行を行い、Azure Web Apps に発行を行ったところ、以下のようなエラーが発生してしまいました。

  • 資産ファイル 'xxxx\project.assets.json' に '.NETCoreApp,Version=v2.0' のターゲットがありません。復元が実行されたことと、'netcoreapp2.0' がプロジェクトの TargetFrameworks に含まれていることを確認してください。
  • エラー NETSDK1005: 資産ファイル 'xxxx\project.assets.json' に '.NETCoreApp,Version=v2.0' のターゲットがありません。復元が実行されたことと、'netcoreapp2.0' がプロジェクトの TargetFrameworks に含まれていることを確認してください。

対象プロジェクトのターゲット フレームワークは、変更しているのに、、、と少々悩んで色々と試した結果、以下の手順で解決できました。

対象プロジェクトを選択、[発行] - [構成] を選択します。

発行

[設定] - [ターゲット フレームワーク] が、"netcoreapp2.1" となっていることを確認してください。 選択されていない場合は、選択する。

発行ウィザード

これにより、発行時のターゲットフレームワークが 2.1 ベースに反映されるようです。

この後、Azure Web Apps へ発行を行ったところ、ただしく発行が完了しました。

また、調査の過程でちょっと面白いことを見つけました。

Azure Web Apps の設定画面から、[開発ツール] - [コンソール] を選択し、"dotnet --info" と入力します。

インストールされている .NET Core SDK, Runtime を確認することができます。

dotnet --info

これは、2018/08/19 時の結果です。

Web Apps って Windows 10 なんだ。しかも、Version 1607 (Anniversary Update) なんだ。 サポート切れてるような、、、というのはありますが、、、、、

インストールされている .NET Core 2.1 系 SDK は、以下のようです。

  • 2.1.200-rc1-008673
  • 2.1.302

ちなみに、この時点での Visual Studio 2017 でインストールされる .NET Core SDK のバージョンは、2.1.400 でした。

Runtime は、どちらも 2.1.2 なので、実行での問題はないということなのでしょう。

Azure Web Apps でもコンソールが利用できるのは、PaaS であっても、同じコマンド、操作で、自身の環境との差異を確認できるので非常に便利だと考えています。

このエントリーをはてなブックマークに追加