トピックス
The .NET MAUI Extension for Visual Studio Code is now Generally Available - .NET Blog
Visual Studio Code 向けの .NET MAUI の拡張機能が一般公開された。
このリリースでは XAML の編集体験の向上やホットリロードといったものが可能となった。この機能拡張は C# Dev Kit と C# 拡張機能の上に構築されているため、ライセンスはそれらと同様のライセンスが必要となる。
バージョン 1.5.4 (1.5.240607001) - Windows App SDK の安定チャネルのリリース ノート - Windows apps
Windows App SDK 1.5.4 がリリースされた。
このリリースでは WebView2 に関する問題をはじめとしていくつかの不具合が修正されている。
.NET 9 Preview 5 · dotnet/core · Discussion #9350
https://github.com/dotnet/core/discussions/9350
.NET 9 Preview 5 がリリースされた。
- AI 向けの
TensorPrimitives
とTensor<T>
の強化 Span
オーバーロードでのparams
SearchValues
を使用した文字列の検索- 完了したタスクから
foreach
できるTask.WhenEach
- 優先順位付けされた Unbounded Channel (無制限のチャンネル)
- より柔軟な OpenTelemetry アクティビティリンク
- TypeDescriptor のトリミングサポート
- 型名パース
Rider 2024.1.3 and ReSharper 2024.1.3 Updates Are Out! | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2024/06/10/rd-rsrp-2024-1-3/
Rider と ReSharper 2024.1.3 がリリースされた。
このリリースでは Rider と ReSharper ともに Razor での PartialAsync の不要な呼び出しの検出対応が追加され、Rider はセキュリティ修正や最新の SDK の Roslyn への対応、その他 UI の改善などが含まれている。
アーティクル、スライドなど
Statically Sized, dynamically sized, and other.
https://fractalfir.github.io/generated_html/rustc_codegen_clr_v0_1_3.html
Rust を MSIL にコンパイルするバックエンドを開発している中で起こしたバグについて。
Using PostgreSQL with .NET and Entra ID - .NET Blog
https://devblogs.microsoft.com/dotnet/using-postgre-sql-with-dotnet-and-entra-id/
.NET Aspire から PostgreSQL を使用する方法と、Entra ID を使用して PostgreSQL をマネージド ID で保護する方法について。
Add Performance Monitor to Your NUnit Tests
https://medium.com/@nw_enterprise/add-performance-monitor-to-your-nunit-tests-a716de6d74ac
NUnit でユニットテストを実行時にパフォーマンスカウンターから CPU 使用率やメモリー使用率を取得してモニターする方法について。
マイクロサービスを作らない人による .NET Aspire の概要説明(普通に便利)
https://zenn.dev/microsoft/articles/dotnet-aspire
.NET Aspire の概要と各種提供している機能について。
neue cc - ConsoleAppFramework v5 - ゼロオーバーヘッド・Native AOT対応のC#用CLIフレームワーク
https://neue.cc/2024/06/13_ConsoleAppFramework_v5.html
新たに書き直された Source Generator ベースの CLI フレームワーク ConsoleAppFramework の技術的な解説。
C# Array and List Fastest Loop in 2024 - NDepend Blog
https://blog.ndepend.com/c-array-and-list-fastest-loop/
2024年の C# における配列と List のループパフォーマンスについての調査。
Catch up on the latest Git tooling features in 17.10 GA - Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/catch-up-on-the-latest-git-tooling-features-in-17-10-ga/
Visual Studio 2022 17.10 での Git ツール機能の新機能についての紹介。
- コミットメッセージの生成
- Pull request の説明の生成
- コミット履歴の Explain
- ワークアイテムをリンクした Visual Studio からの Pull request の作成 (Azure DevOps)
Visual Studio 2022 - 17.10 Performance Enhancements - Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-10-performance-enhancements/
Visual Studio 2022 17.10 でのパフォーマンス向上についての解説。
17.10 では Windows Forms デザイナーの読み込み速度の向上、Razor での C# コードの色付け速度の向上、.NET ソリューションの読み込みの高速化、リファクタリングとチューニングによる読み込まれる DLL の削減といった改善が行われている。
Building Generative AI apps with .NET 8 - .NET Blog
https://devblogs.microsoft.com/dotnet/build-gen-ai-with-dotnet-8/
.NET 8 で生成 AI のアプリケーションを作ることについて。始め方、監視、エコシステムなどについて簡単に紹介。
Introducing collection expressions in C#12: Behind the scenes of collection expressions - Part 1
C# 12 で導入されたコレクション式についての解説。
記事ではコレクション初期化子の紹介や、型推論、ReadOnlySpan や空コレクション、スプレッドといった機能を紹介している。
The ReSharper 2024.2 Early Access Program begins! | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2024/06/10/resharper-2024-2-eap-begins/
ReSharper 2024.2 EAP が開始された。
この EAP の初期リリースでは Resharper C++ や dotMemory, dotTrace, dotPeek の改善が含まれている。
Rider Starts Its Early Access Program for Version 2024.2 | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2024/06/10/rider-eap-2024-2-2/
Rider 2024.2 EAP が開始された。
この EAP の初期リリースでは新しい UI のデフォルト化、各種 UI の改善、バージョンコントロールの改善、Web 開発の改善、Unreal Engine アプリケーションのデバッグの改善、パフォーマンスとメモリーのプロファイリングの改善、デコンパイラーの改善、その他ランタイムの更新などが含まれている。
Automated Tests instrumentation via OpenTelemetry and Aspire Dashboard
OpenTelemetry と Aspire Dashboard を使用して自動テストの計測を行う方法について。
Build A Generative AI + RAG App In C# With Phi-3, ONNX, And SharpVector | Build5Nines
https://build5nines.com/build-a-generative-ai-rag-app-in-c-with-phi-3-onnx-and-sharpvector/
C# と Phi-3、ONNX に著者の実装したインメモリーベクトルデータベースを組み合わせて RAG アプリケーションを実装する方法について。
Getting started with UI testing .NET MAUI apps using Appium - .NET Blog
https://devblogs.microsoft.com/dotnet/dotnet-maui-ui-testing-appium/
Appium を使用して .NET MAUI アプリケーションの UI テストを行う方法について。
記事では導入方法から記述方法、様々な環境での実行などについても触れている。
Polymorphic serialization via System.Text.Json in ASP.NET Core Minimal API
https://nikiforovall.github.io/dotnet/aspnetcore/2024/04/06/openapi-polymorphism.html
ASP.NET Core Minimal API と System.Text.Json でポリモーフィックな JSON のシリアライズを行う方法について。
Encoding.GetString()は救われない
https://zenn.dev/sayurin/articles/3d19bf4bb22e6e
Encoding.GetString
で文字列を作成する際に一時配列を作ってしまうことがあるケースについて。
マイクロサービス作らなくても .NET Aspire って便利
https://zenn.dev/microsoft/articles/dotnet-aspire-minimal
.NET Aspire をローカル開発サーバー環境(DB、Cacheなど)のセットアップとして活用する方法について。
ライブラリ、リポジトリ、ツールなど
GitHub - tmds/Tmds.Ssh: .NET SSH client library
https://github.com/tmds/Tmds.Ssh
モダンな .NET をベースに実装された SSH クライアントの実装。
サイト、ドキュメントなど
ツイート
ASP.NET Core MVC, Razor Pages を必要としない ASP.NET Core 向け Razor ベーステンプレートエンジンの Razor Slices がトリミングに対応。
Razor plus native AOT? Now you can! I finally released my updates to RazorSlices which now supports trimming & native AOT! Use in conjunction with Minimal APIs to get small, fast apps that start instantly.https://t.co/f7YIgJ1GyD#dotnet #aspnetcore
— Damian Edwards (@DamianEdwards) June 7, 2024
Deep Dive
Obsolete ServicePointManager 🎉 by MihaZupan · Pull Request #103456 · dotnet/runtime
https://github.com/dotnet/runtime/pull/103456
ServicePointManager
を Obsolete にするという PR。
Use new System.Net.ServerSentEvents package in SignalR by BrennanConroy · Pull Request #56206 · dotnet/aspnetcore
https://github.com/dotnet/aspnetcore/pull/56206
Server-Sents Events の実装が SignalR の内部のものから新たに追加された System.Net.ServerSentsEvents に移行する PR。