.NET 5.0をVisual Studio 2019 Previewで試してみた

2020-09-15 | コメント(0)

.NET 5.0を迎えるにあたり、既存のaspnetcore3.1のWebアプリケーションがすんなり移行出来るのか気になったので、.NET 5.0を試してみました。

移行という観点として、.NET 5.0は、まだ正式に発表されていないため正確なことは言えませんが、コード修正箇所としては、プロジェクトファイルのターゲットフレームワーク箇所の変更で大抵は済むと思います。これは、aspnetcore 2.x から 3.1へ変更した時と同じです。

2.x から 3.1 への移行時に、部分的に問題箇所があったように、5.0へ移行する際にも「破壊的変更」がある様ですし、Nuget等での外部のパッケージがそのまま使用出来るかはパッケージ側に依存することになりますが、ほとんどの場合ですんなり移行出来ると思っています。もし移行に相当な問題がある場合は、.NET 5.0は見送り、LTSになる.NET 6.0まで様子見でも良いかなと思います。

以下 Visual Studio 2019 Preview を試すまでのものです。

まず先に、.NET 5.0 Preview SDK をインストールしようとしたときの画面です。
.NET SDK 5.0.100-Preview.8.20417.9 インストール画面

.NET 5.0 と Visual Studio を使用するには、Visual Studio 2019 16.8が必要ということなので、SDKのインストールは ここでやめてキャンセルしました。

ローカルのWindows10には、Visual Studio 2019 が入っていますが、バージョンは 16.7.3 です。(16.7.3は当エントリー投稿時最新です)

バージョン16.8はPreviewの様なので、下記ページにダウンロードのリンクがあるのでそこから取得してインストールします。
Visual Studio 2019 Preview リリース ノート

なおFAQには、Visual StudioとPreviewを同時にインストールが出来ることと、Previewの削除についても記載があり、既存環境へ追加インストールしても問題が無いことが伺えます。こういう記載があるのは安心出来るので大事ですね。
Visual Studio Preview に関する FAQ

Communityで良いと思ったので「Download Community 2019 Preview」をダウンロードしました。

インストールには、ダウンロード量と時間を考えて「ASP.NET と Web開発」だけ選択してます。右側の対象オプションは全て選択しています。
Visual Studio 2019 インストール画面

個別のコンポーネントを確認してみると、「.NET 5.0 ランタイム」があり、選択された状態になっています。
個人的にですが、初回インストールは早く終わってほしいので、特に追加等はしないでこのままインストールします。
Visual Studio 2019 個別のコンポーネント

※インストールが終わったら、管理者を抜けるためサインアウトして、通常のユーザーでログインし直します。

なお、Versionは 5.0.100-preview.8.20417.9 となりました。

>dotnet --version
5.0.100-preview.8.20417.9

Visual Studio 2019 Previewを立ち上げ、MVCアプリケーションを.NET 5.0で作成してみます。
※ここのドロップダウンメニューの表記は「ASP.NET Core 5.0」となっていますね。正式版はどうなるのでしょうかね。
.NET 5.0 Webアプリケーションの作成画面

作成されるソリューションは、aspnetcore3.1と全くと言って良いほど同じです。
.NET 5.0 MVC ソリューションエクスプローラー

aspnetcore3.1と差がある箇所は、プロジェクトファイルのターゲットフレームワークが、netcoreapp3.1 から net5.0 に変わっているところです。実際には正式版がリリースされるまではこの文字列値になるかは分からないところですね。

<project sdk="Microsoft.NET.Sdk.Web">

  <propertygroup>
    <targetframework>net5.0</targetframework>
  </propertygroup>

</project>

デバッグ実行し、IIS Express上でMVCアプリケーションとして普通に動きます。
.NET 5.0 MVC 実行画面

一応、フォルダ発行をしてみました。ターゲット フレームワークが「net5.0」になっている所以外に気になる変化は無さそうです。発行されたファイルもaspnetcore3.1と同じようにしか見えません。
.NET 5.0 FolderProfile公開
.NET 5.0 公開ファイル一覧

コード変更箇所がどのくらい発生するのかを確認したかったので、稼働サーバーでの動作確認まではしてませんが、当面は aspnetcore3.1 の開発をしていれば、.NET 5.0の環境にも最小限で移行出来る気がします。.NET 5.0で移行問題が出るとしても、正式リリース前に出来ることは心の準備だけ?ですかね。

移行案内のページがありましたのでリンクしておきます。
ASP.NET Core 3.1 から5.0 への移行
バージョン 3.1 から 5.0 への移行の破壊的変更

.NET 5.0より以前に、.NET Framework の 既存WebFormアプリケーションを移行する場合にどうやって脱却させるかのほうが課題で、仮に移行ツール等があったとしても現実的には全て頼れないので、コツコツと1ページ毎に作り直していくしか無いだろうと思っています。

カテゴリ:

コメントする

※HTMLタグは使えません

Author

あきちゃん

主に、.NETでWebシステムの設計と開発をしています。
(茨城県在住, 都内勤務)
プロフィール