GrapeCity.devlog

グレープシティ株式会社のDeveloper Tools〈開発支援ツール〉の、製品のTIPSや発売などに関する最新情報をお届けします。

GrapeCity

「.NET 5」の正式版がついにリリース!新しく追加された機能をまとめて解説

普段のお仕事に役立つ普遍的なプログラミングTIPSや、業界で注目度が高い最新情報をお届けする「編集部ピックアップ」。
今回はついに正式リリースとなった「.NET 5」についてお届けします。


2020年11月10日からマイクロソフト社が開催しているバーチャルイベント「.NET Conf 2020」の初日に、「.NET 5」の正式版のGAが発表されました。

.NET 5注目の新機能

.NET 5では、「.NET Framework」と「.NET Core」が統合され、大きな節目となるリリースとなっています。もちろん新機能も多数追加されておりますので、気になったものをいくつか紹介していきたいと思います。

C# 9.0対応

.NET 5 では、C#の既定のバージョンが 9.0にアップされます。C# 9.0で新たに追加される要素として注目されているのが「Record型」です。

Record型については、「Java 14」でも同様の機能が追加されており、C#にもその後追いのようなかたちで実装されたことになります。

Record型は、クラスと同程度の拡張性に加え、構造体のような比較処理をあわせ持っており、冗長な比較処理を長々と記述する面倒さを排除できます。

単一の実行ファイルの強化

.NET Coreでもサポートされていた単一の実行ファイルの作成機能が強化されました。.NET Coreにおける単一の実行ファイルの作成については、以下の記事でも紹介していましたが、これまでは実行するときにすべてのファイルを一時ディレクトリに展開してから実行する、という動作でした。

この動作が.NET 5.0では改善され、一時ディレクトリに展開することなく直接実行することができるようになりました。

Windows Formsの強化

Windows Formsにも新しいタスクダイアログが追加されるなど、新機能の追加があります。また、メモリ使用量やパフォーマンスも改善が行われているようです。

さらに、.NET 5ではWindows Formsのデザイナでサードパーティのコントロールもサポートされるようになります。弊社にとっても待望の機能強化です!

Windows Formsの新機能

ClickOnceのサポート

.NET Coreではサポートされない、と言われていたClickOnceのサポートも追加されました。.NET 5だけでなく、.NET Coreでも使用可能です。

ClickOnceのサポート追加

VB.NET対応の拡大

.NET 5におけるVBのサポートについては、以前より以下ブログにてアナウンスがされておりました。

今回のリリースでは、Windows FormsやWPFもサポート対象となりました。 VBのプロジェクトテンプレート

ASP.NET Coreの強化

ASP.NET Coreでは、.NET 5のAPIのサポートのほか、パフォーマンスが大幅に向上しており、特にJSONでの処理に関して、スループットやレイテンシーが改善しています。

参考:https://devblogs.microsoft.com/aspnet/announcing-asp-net-core-in-net-5/#performance-improvements

.NET Confのキーノートの中でもBlazor WebAssemblyのパフォーマンス向上に関して紹介がありました。

Blazor WebAssemblyのパフォーマンス向上

また、新しく「dotnet watch」と呼ばれる機能が追加され、開発者がコードが変更されたときにブラウザを自動更新し、変更を即反映して確認ができます。

グレープシティの.NET 5対応コンポーネント

弊社の開発ツールも.NET 5への対応に向け開発を進めておりますが、今回は直近で対応予定のある(または対応済み)2製品についてご紹介します。

DioDocs

ExcelやPDFを作成・編集するAPIライブラリ「DioDocs(ディオドック)」は、.NET Standard 2.0以上に準拠のプラットフォームをサポートします。

今回リリースされた.NET 5もサポート対象となりますので、ぜひフレームワークをアップデートしてお試しいただければと思います。

ComponentOne

.NET開発コンポーネントセット「ComponentOne(コンポーネントワン)」では、2020年末にリリース予定の新バージョン「2020J v3」にて、.NET 5対応のコンポーネントをリリース予定です。

なお、ComponentOneの.NET 5対応のコンポーネントについては、英語版で先行してベータ版を公開しています。

ちょっとわかりにくいのですが、コントロール名の右上に「5」と付いているのが、ベータ版対応しているコントロールです。「2020J v3」ではこれらに加えさらに対応コントロールが増える予定なので、ご期待いただければと思います。

.NET 5対応コンポーネント

  • グレープシティ株式会社のDeveloper Tools〈開発支援ツール〉の製品・技術資料をご覧ください。
  • グレープシティ株式会社のDeveloper Tools〈開発支援ツール〉の製品のデモアプリケーションをお試しください。