つばろぐ

福岡のエンジニアによる技術的な備忘録です。

.NET Core 2.1のロードマップが公開されたようです

追記(2018/06/23 10:28)

.NET Core 2.0のサポート終了アナウンスが発表されています。

tsubalog.hatenablog.com


Twitterで「.NET Core 2.1」というフレーズをたくさん見かけたので、なんだなんだと思ったらロードマップが公開されたようです。
ロードマップは下記のブログに詳細が記載されています。今回はそれを読んでまとめてみたいと思います。
なお私の英語力にはあまり期待しないでください。

blogs.msdn.microsoft.com


まとめ

  1. ビルド性能の改善 (Build-time Performance)
  2. .NET Coreのグローバルツール (.NET Core Global Tools)
  3. 新しい型の導入 (Span, Memory and friends)
  4. HttpClientのパフォーマンス (HttpClient Performance)
  5. マイナーバージョンのロールフォワード (Minor Version Roll-forward)
  6. Windows互換パック (Windows Compatibility Pack)
  7. 可用性 (Availability)

ビルド性能の改善 (Build-time Performance)

dotnet buildコマンドやVisual Studioでのビルドのパフォーマンスが改善されたようです。
理由としてはCLIツールやMSBuildが改善されたからだ、ということです。

ビルドにかかる時間など、パフォーマンスを気にする人って多いんでしょうか?
私自身あまり気にしたこと無いんですよね。まぁ速くなることは良いことですね。

.NET Coreのグローバルツール (.NET Core Global Tools)

Node.jsのグローバルツール (npm install -g) のような、ツールが.NET Coreにも導入されるようです。
こういったツールはNuGetパッケージとして提供されるようです。
ツールの導入のためにdotnet toolコマンドが新しくできるということです。

dotnet tool install -g awesome-tool
awesome-tool

どういったツールが提供されるんでしょうかね?

新しい型の導入 (Span, Memory and friends)

C# 7.2で導入されるSpan<T>Memory<T>が使えるようになります。
新しい型についてはこちらの記事が参考になると思います。

ufcpp.net

ufcpp.net

ただ、Memory<T>の情報を見かけたことがないので、どういった型か把握していません。

HttpClientのパフォーマンス (HttpClient Performance)

C#のHTTPクライアントのパフォーマンスが改善されたとのこと。
また、機能が追加されたHttpClientFactoryも含まれます。先日のふくてんもくもく会でもテーマにした方がいました。

github.com

マイナーバージョンのロールフォワード (Minor Version Roll-forward)

ここでいう「ロールフォワード」は後方互換性という意味と、私は理解しました。

For example, you will be able to run .NET Core 2.0 applications on .NET Core 2.1 or .NET Core 2.1 applications on .NET Core 2.5 (if we ever ship such a version).

.NET Core 2.5の環境で、.NET Core 2.1のアプリケーションを、.NET Core 2.0として実行することができるという感じでしょうか。

Windows互換パック (Windows Compatibility Pack)

.NET Frameworkから.NET Coreに移行する際、新しいWindows互換機能パックが利用できるようになります。
これまでもWindows互換機能パックは利用できましたが、新しくなったということですね。

docs.microsoft.com

可用性 (Availability)

.NET Core 2.1を2018年前半の正式リリースを目指して、毎月プレビュー版を提供する予定とのこと。


翻訳間違ってるよとかありましたら指摘して頂けますと幸いです。