2024-04-17: .NET 9 Preview 3, .NET April 2024 Updates, ReSharper and Rider 2024.1

Published on Wednesday, 17 April 2024

トピックス

.NET 9 Preview 3 · dotnet/core · Discussion #9271

https://github.com/dotnet/core/discussions/9271

.NET 9 Preview 3 がリリースされた。

このリリースでは TimeSpan.From* に対するオーバーロードの追加、動的に生成したアセンブリを保存できる PersistableAssemblyBuilder の追加、例外ハンドリングの高速化、共有ジェネリクスの実行時ルックアップのインライン化、ターミナルロガー(dotnet コマンドの出力)のユーザビリティ強化などが含まれている。

その他、ML.NET の Tokenizer の強化、ActivatorUtilities.CreateInstance のActivatorUtilitiesConstructor 属性を常に使用するようになるといった変更も行われている。

.NET April 2024 Updates – .NET 8.0.4, 7.0.18, .NET 6.0.29 - .NET Blog

https://devblogs.microsoft.com/dotnet/april-2024-updates/

.NET 8.0.4, 7.0.18, 6.0.29 がリリースされた。

このリリースは2024年4月のアップデートで、いくつかの不具合の修正と WPF の特権昇格の脆弱性の修正が含まれている。

ReSharper 2024.1: Improved Handling of Collections, Collection Expressions, and Disposable Resources, New Assembly Diff Tool Window, and More | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/04/09/resharper-2024-1/

ReSharper 2024.1 がリリースされた。

このリリースではコレクション式のサポート強化やコレクションの変更の解析、ISpanFormattable などのフォーマット系メンバーの生成、非同期メソッド内の Disposable のサポートの強化、Razor のサポートの改善、ソリューションワイド解析の高リソース利用モード、リファクタリングの速度改善などが含まれている。

そのほか Assembly Diff ビューの追加やコマンドラインツールの出力フォーマットの SALIF のデフォルト化なども含まれる。

Rider 2024.1: A Better Experience for Debugging, Performance Monitoring, and Game Development | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/04/09/rider-2024-1/

Rider 2024.1 がリリースされた。

このリリースではデバッグ中のメモリー使用量や CPU 使用率を表示できる Monitoring ツールウィンドウの追加、コレクションビジュアライザー、ステップ時間表示、Blazor WebAssembly のホットリロード、エディターでの固定行表示、更新された新しいプロジェクトダイアログ、ReSharper 同様の C# のサポートの強化が含まれている。

その他 Unity の Odin Inspector サポート、.NET Aspire プラグイン、AI アシスタントのアンバンドル(プラグイン化)といった変更も含まれている。

dotCover, dotMemory, dotPeek, and dotTrace 2024.1 Are Out! | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/04/09/dotnet-tools-241-release/

dotCover, dotMemory, dotPeek, dotTrace 2024.1 がリリースされた。

  • dotMemory 2024.1
    • デスクトップ MAUI アプリケーションのサポート
    • Frozen Objects Heap (FOH) のサポート
    • Linux および macOS での新しいビュー (Similar Retention, Sunburst dialog)
    • macOS において実行ファイルの代わりにアプリケーションバンドル .app を指定するオプション
    • JetBrains Rider での macOS 実行構成でのプロファイリング。対応フレームワーク: net7.0-macos, net8.0-macos
  • dotTrace 2024.1
    • デスクトップ MAUI アプリケーションのサポート
    • UI プリセット (特定のアプリケーションに向けた UI の表示構成)
    • macOS において実行ファイルの代わりにアプリケーションバンドル .app を指定するオプション
    • JetBrains Rider での macOS 実行構成でのプロファイリング。対応フレームワーク: net7.0-macos, net8.0-macos, net7.0-maccatalyst, net8.0-maccatalyst, Xamarin.Mac
  • dotCover 2024.1
    • MAUI のカバレッジ解析 (.NET 7 以降の WinUI デスクトップアプリケーションのみ)
    • コードカバレッジハイライトの改善
  • dotPeek 2024.1
    • 新たに独立した Assembly Diff ツールウィンドウ
    • Web Assembly の WebCIL パッケージフォーマットのサポート

Version 1.5.2 - Stable channel release notes for the Windows App SDK - Windows apps

https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/stable-channel#version-152-15240404000

Windows App SDK 1.5.2 がリリースされた。

このリリースではいくつかの不具合修正に加え、Widget に関する API の追加が含まれている。

.NET Aspire preview 5 - .NET Aspire

https://learn.microsoft.com/ja-jp/dotnet/aspire/whats-new/preview-5

.NET Aspire preview 5 がリリースされた。

このリリースではパッケージの分割や様々な API の変更、ダッシュボードの改善、Visual Studio Code C# DevKit からの起動、Azure Event Hubs や NATS, Seq といったコンポーネントのサポート、Azure サポートの強化、AWS サポートの追加といったものが含まれている。

Introducing MSTest SDK - Improved Configuration & Flexibility - .NET Blog

https://devblogs.microsoft.com/dotnet/introducing-mstest-sdk/

MSBuild Project SDK をベースにした MSTest SDK についてのアナウンス。

MSTest に必要な構成が含まれたプロジェクト SDK が提供されることで、デフォルト値が提供され利用も簡素化される。

Announcing pl/dotnet, version 0.99 (beta)

https://www.postgresql.org/about/news/announcing-pldotnet-version-099-beta-2838/

pl/dotnet 0.99 (ベータ) がリリースされた。

pl/dotnet は PostgreSQL に C#/F# サポートを追加するしくみで、.NET で関数やプロシージャといったものを記述できる。ベンチマークによると C#/F# は最速の Procedural Language (PL/*) であるとのこと。PostgreSQL ライセンスにて提供される。

アーティクル、スライドなど

Build & test resilient apps in .NET with Dev Proxy - .NET Blog

https://devblogs.microsoft.com/dotnet/build-test-resilient-apps-dotnet-dev-proxy/

外部 API の呼び出し時におけるパフォーマンス悪化やエラー、レートリミットといった問題を Dev Proxy を使用してシミュレートして開発する方法についての紹介。

How to use GitHub Copilot Chat in Visual Studio - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/how-to-use-github-copilot-chat-in-visual-studio/

Visual Studio での GitHub Copilot Chat の使用方法について。

記事では Copilot Chat を使用したコードの変換時の操作やプレビューについて紹介している。

Exploring Collections & DataTables | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/04/15/exploring-collections-and-datatables/

Rider 2024.1 に組み込まれたコレクションビジュアライザーの紹介。

新しいコレクションビジュアライザーでの絞り込みや検索、チャート形式での表示といった機能について触れている。

Streamline your container build and publish with .NET 8 - .NET Blog

https://devblogs.microsoft.com/dotnet/streamline-container-build-dotnet-8/

.NET 8 の dotnet コマンドでコンテナーイメージをビルド、発行する方法について。

記事では簡単な使い方から、ディストリビューションの変更や chiseled/extra イメージについて触れている。

How to Test Logging with FakeLogger

https://dev.to/canro91/how-to-test-logging-with-fakelogger-4dgc

Microsoft.Extensions.Diagnostics.Testing の FakeLogger を使用したテスト方法について。

.NET Aspire dashboard is the best tool to visualize your OpenTelemetry data during local development

https://anthonysimmon.com/dotnet-aspire-dashboard-best-tool-visualize-opentelemetry-local-dev/

.NET Aspire ダッシュボードを .NET Aspire とは関係なくローカル開発での OpenTelemetry のダッシュボードとして使用する方法について。

Blazor Web App + ASP.NET Core Identity にカスタムユーザークレームを使用した認証と認可を実装する

https://zenn.dev/hat_kotap/articles/421e9bc3419aa8

Blazor Web App と ASP.NET Core Identity の組み合わせでの認証と認可を実装する方法について。

Useful features in Entity Framework Core 8 for your application

https://dateo-software.de/blog/entity-framework-8

Entity Framework Core 8 の便利な機能の紹介。

記事ではプリミティブコレクションマッピング、複合型、JSON カラム、Sentinel 値を取り上げている。

Error以上のログ出力するときにVisualStudioを中断/ブレークする忘備録 - Qiita

https://qiita.com/kokeiro001/items/ee6221153ed868f77733

エラーログ出力時にデバッガーをブレークするアイデアについて。記事では Serilog での実装例を紹介している。

Automated NuGet package version range updates in .NET projects using Renovate

https://dev.to/asimmon/automated-nuget-package-version-range-updates-in-net-projects-using-renovate-15il

NuGet パッケージバージョンを Renovate でアップデートする際にバージョンが範囲指定となっている場合の対処方法について。

App Service にデプロイした .NET アプリの応答遅延を分析する - Qiita

https://qiita.com/georgeOsdDev@github/items/166d9ed85c1effc648e8

Azure App Service にデプロイした .NET アプリケーションのパフォーマンス分析を行うためのポイントやツールといったものの紹介。

Semantic Kernel で JSON Mode を使おう

https://zenn.dev/microsoft/articles/semantic-kernel-v1-005

Semantic Kernel で OpenAI API の JSON モード (JSON で回答を受けとれるモード) を使用する方法について。

TreatWarningsAsErrors and warnaserror are not the same

https://dev.to/asimmon/treatwarningsaserrors-and-warnaserror-are-not-the-same-4h9c

.csproj の TreatWarningsAsErrorsdotnet build のスイッチ -warnaserror の違いについて。

Introducing the new Copilot experience in Visual Studio - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/introducing-the-new-copilot-experience-in-visual-studio/

GitHub Copilot 関連の機能が Visual Studio 17.10 Preview 3 で統合されたことについての紹介。

Visual Studio 17.10 以降、GitHub Copilot および Copilot Chat は1つに統合され、 Visual Studio のコンポーネントの一部として提供される。

【C#】サーバー側でAndoridのレシートを署名検証する - Qiita

https://qiita.com/simoyama2323/items/cdbb45031bbef405bd25

Google Play のレシート検証を行う方法について。

【C#】Azure.AI.OpenAI パッケージで AOAI & Azure AI Search を使う RAG と Chat のコード例

https://zenn.dev/jtechjapan_pub/articles/cf284df0a1c693

Azure.AI.OpenAI を使用して Azure OpenAI と Azure AI Search で RAG を行うチャットの例の解説。

Dapr を使ってみる - State management 編 - Qiita

https://qiita.com/takashiuesaka/items/713499c531095d5687c2

Dapr でステート管理を行うサービスを使用する方法について。

記事では Redis を立ち上げる手順や .NET アプリケーションから利用する方法、.NET Aspire との連携についても触れている。

[C#] Visual Studio 2022 で古い .NET Framework を使えるようにする方法 (.NET Framework 2.0 以降) - Qiita

https://qiita.com/diontools/items/b193ae8394161fc26698

Visual Studio 2022 で公式サポート外の .NET Framework を使用できるようにする方法について。

AspireプロジェクトとAzure Functions プロジェクトを並行開発する

https://zenn.dev/jtechjapan_pub/articles/d51d86c3105634

.NET Aspire と Azure Functions を組み合わせたプロジェクト開発構成について。

EF Core で MySQL の UUID_TO_BIN, BIN_TO_UUID と同じフォーマットにするメモ

https://zenn.dev/hikarin/articles/6964d684573076

Entity Framework Core で Guid を MySQL の UUID_TO_BIN, BIN_TO_UUID に合わせた形に変換する方法について。

Visual Studioの新しいソリューション形式slnx - kkamegawa's weblog

https://kkamegawa.hatenablog.jp/entry/2024/04/12/051622

Visual Studio 2022 17.0 Preview 3 で追加された XML ベースの新しいソリューション形式 .slnx について。

イベント

Session catalog | Microsoft Build | May 21-23, 2024 | Seattle and Online

https://build.microsoft.com/en-US/sessions

5月21日から開催される Microsoft Build のセッションカタログ。

Deep Dive on LINQ with Stephen Toub

https://www.youtube.com/watch?v=xKr96nIyCFM

Scott Hanselman 氏と Stephan Toub 氏による LINQ の実装についての解説。

Let's Learn .NET: Containers (Japanese)

https://www.youtube.com/watch?v=PFUy3W-FeAY

サイト、ドキュメントなど

ツイート