.NET Core 2.1 リリース
2018 年 5 月 30 日に、.NET Core 2.1 と ASP.NET Core 2.1 がリリースされました。
色々と機能追加もあるようですが、やはり魅力的なのは、ビルド時間の短縮とランタイムのパフォーマンス改善です。
正直、今までは、ビルドを開始してから少々時間がかかるなという感じがしていましたが、.NET Core 2.1 からは、スムーズにデバッグを開始できるようになりました。
公表では、3 から 10 倍程、ビルド時間が高速になったようです。
また、ランタイムも API によりますが、各所で改善が行われたようです。
.NET Core 2.1 への移行方法
ここでは、ASP.NET Core 2.0 ベースのコードを ASP.NET Core 2.1 へ移行する方法を紹介します。
詳しくは、以下に記載がありますので、こちらも参考にしてください。
ターゲット フレームワークの変更
対象のプロジェクトを選択し、[プロパティ] - [アプリケーション] - [ターゲット フレームワーク] を ".NET Core 2.1" に変更します。
パッケージの更新
対象のプロジェクトを選択し、[NuGet パッケージの管理] - [インストール済み] - [Microsoft.AspNetCore.All] を選択し、[アンインストール] から、同パッケージを削除します。
"Microsoft.VisualStudio.Web.CodeGeneration.Design" も同様に削除します。
次に、[参照] - [検索] に、"Microsoft.AspNetCore.App" を入力し、[Microsoft.AspNetCore.App] を選択し、[インストール] から、同パッケージをインストールします。
"Microsoft.VisualStudio.Web.CodeGeneration.Design" も同様に最新版をインストールします。
起動確認
ここで、一度ビルドしてみます。
私の環境では、以下のエラーが出力されました。
エラー CS1061 'IApplicationBuilder' に 'UseBrowserLink' の定義が含まれておらず、型 'IApplicationBuilder' の最初の引数を受け付けるアクセス可能な拡張メソッド 'UseBrowserLink' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足していないかを確認してください。
IApplicationBuilder の拡張メソッド UseBrowserLink は、.NET Core 2.1 から、パッケージが変更になったようです。
私の環境と同様の問題が発生する場合亜は、対象のプロジェクトを選択し、[NuGet パッケージの管理] - [参照] から、"
Microsoft.VisualStudio.Web.BrowserLink" の最新版をインストールします。
ビルドして、エラーが発生しないことを確認し、プロジェクトを起動し、動作を確認ください。
#移行に関して
.NET Core 2.0 -> 2.1 への移行でもこれくらいの手間はかかってしまいます。
.NET Core は、これまでの .NET Framework と異なり、自己完結型展開ができるので、手間と感じるのであれば、サポートの問題はあるにせよ、移行しないことも選択できます。
ただし、変化に追随する先進的なアプリケーションの開発、機能追加を継続するのであれば、移行しない手はありません。
アプリケーションの性質、位置付により適切なランタイムの選択が必要と考えています。
以下を別の記事として追記しました。