トピックス
Version 1.5 - 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-15
Windows App SDK 1.5 がリリースされた。
このリリースでは XAML Island でのシャットダウン時の挙動の変更、WebView2 と Azure Map ベースでの Map コントロールの追加、SelectorBar コントロールの追加、CommandBarFlyout でのプライマリーコマンドのラベル対応、WebView2 でのカスタム環境/オプション対応、.NET 8 対応といった改善が含まれている。
バージョン 1.4.5 - Windows App SDK の安定チャネルのリリース ノート - Windows apps
Windows App SDK 1.4.5 がリリースされた。
このリリースではハングやクラッシュといったいくつかの不具合が修正されている。
Release 2.7.27 · StackExchange/StackExchange.Redis
https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.7.27
StackExchange.Redis 2.7.23, 2.7.27 がリリースされた。
このリリースではコネクションのライブラリー名にサフィックスを付ける機能やアイドル時以外にもキープアライブチェックを行うオプションが追加された。
NCrunch Blog | NCrunch V5 Now Available
https://blog.ncrunch.net/post/NCrunch-V5-Now-Available.aspx
NCrunch V5 がリリースされた。
このリリースでは JetBrains Rider のサポートと Runtime Data Inspection (RDI) 機能の導入が行われている。
Runtime Data Inspection はテスト実行時に様々なデータをキャプチャーして、それを元にコードの挙動を解析できる機能。
アーティクル、スライドなど
Code coverage features in Visual Studio Enterprise - Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/code-coverage-features-in-visual-studio-enterprise/
Visual Studio Enterprise のコードカバレッジ機能についての新機能やパフォーマンス改善といったものの紹介。
Entity Framework Coreで論理削除 - Qiita
https://qiita.com/filunK/items/8485c8fcc38fae5d2b40
Entity Framework Core で Interceptor を使用して、データベースのテーブルからの論理削除(削除フラグ)を実装する方法について。
C# で文字列の式から計算結果を得る - Qiita
https://qiita.com/hyukix/items/ac26decee3bb75b32f75
与えられた文字列の式から計算結果を取得するための機能を持つライブラリーを挙動とパフォーマンス面から比較。
Rider 2024.1 EAP 7: C# Updates, New Product Icons, Bundled Kubernetes Plugin | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2024/03/01/rider-2024-1-eap-7/
Rider 2024.1 EAP 7 がリリースされた。
このリリースでは C# 12 サポートの改善、新しいアイコン、Kubernetes プラグインのバンドルといった変更が行われている。
Rider 2024.1 EAP 6: Updated New Project Dialog, Custom Naming Rules, and VCS Improvements | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2024/02/27/rider-2024-1-eap-6/
Rider 2024.1 EAP 6 がリリースされた。
このリリースでは新しいプロジェクトダイアログの更新、Blazor WASM のホットリロードデバッグ、C# サポートの改善、パフォーマンスの改善、メモリープロファイリングでの Frozen Object Heap の対応などが含まれる。
ReSharper 2024.1 EAP 6: The Most Feature-Rich Update Yet | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2024/02/27/resharper-2024-1-eap-6/
ReSharper 2024.1 EAP 6 がリリースされた。
このリリースではリネームの高速化、C# での async メソッド内の disposable なリソースの取り扱いの改善、コードフォーマットやデコンパイラーの改善、dotMemory のメモリープロファイリングでの Frozen Object Heap の対応などが含まれる。
Google の Magika を Python から C#に移植するまでの過程(Day 1 / 7) - Qiita
https://qiita.com/mkht/items/64b02b8648266d40380a
Google の機械学習ベースのファイル種別判定ツール Magika を Python から C# に移植を試みた話。モデルを読み込んで実行するコマンドラインツールにするといった一連の移植を行っている。
params コレクション | ++C++; // 未確認飛行 C ブログ
https://ufcpp.net/blog/2024/3/params-collections/
C# 13 で検討されている params に配列以外を指定できるようにする params コレクションについて。
How to Build a NuGet Package with iOS Frameworks for .NET MAUI Development
https://www.dynamsoft.com/codepool/ios-ipados-dotnet-maui-mrz-recognition.html
.NET MAUI 向けの iOS の Framework を含む NuGet パッケージを作る手順について。
Strideでコンポーネントを作成、共有する - Qiita
https://qiita.com/skitoy4321/items/ba6fdfedf03d444cac40
Stride (ゲームエンジン) でコンポーネントを作成する方法と、NuGet パッケージで公開する際の注意点など。
Using Unix domain sockets with ASP.NET Core and HttpClient
https://andrewlock.net/using-unix-domain-sockets-with-aspnetcore-and-httpclient/
UNIX ドメインソケットで ASP.NET Core サーバーと HttpClient で通信する方法について。
Visual Studio's Full Year in Review (2023) - Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/visual-studios-full-year-in-review-2023/
Visual Studio の2023年の振り返りのまとめ記事。
The FAST and the Fluent: A Blazor story - .NET Blog
https://devblogs.microsoft.com/dotnet/the-fast-and-the-fluent-a-blazor-story/
Fluent UI Blazor ライブラリーについての紹介。
ベースとなる FAST (Web Component) とその連携、そのほか Aspire のダッシュボードで使用されていることなどに触れている。
Shoelace Web Components with ASP.NET Core
https://khalidabuhakmeh.com/shoelace-web-components-with-aspnet-core
Shoelace Web Component を ASP.NET Core の Razor Pages で使う手順について。
.NET Performance Optimization: Deferred Allocations
https://petabridge.com/blog/net-performance-deferred-allocation/
Akka.NET の計測を行うための Phobos で遅延割り当てを駆使することでパフォーマンスの低下を抑えるという手法を取ったことについての解説。
.NET MAUI Community Toolkit 2023 Highlights - .NET Blog
https://devblogs.microsoft.com/dotnet/dotnet-maui-community-toolkit-2023-highlights/
.NET MAUI Community Toolkit の2023年のアップデートや活動の振り返り。
WinForms Designer Selection for 32-bit .NET Framework Projects - Visual Studio Blog
Visual Studio 2022 v17.9 で導入された .NET Framework の Windows Forms 向けのアウトオブプロセスデザイナー(プレビュー)について。
記事では互換性のないプロジェクトを読み込んだ際の切り替えについて、アウトオブプロセスデザイナーの制限やロードマップといった点を開設している。
Docker Init for ASP.NET Core Compared to VS or VS Code Extensions
http://thedatafarm.com/docker/docker-init-for-asp-net-core-compared-to-vs-or-vs-code-extensions/
Docker に組み込まれた docker init
で生成される ASP.NET Core プロジェクトと Visual Studio や .NET SDK で生成されるプロジェクトがどのように異なるのかについて。
記事では .dockerignore や Dockerfile、docker-compose.yml の差異といったものを比較している。
.NET 8 の ASP.NET Core Blazor で二度押しを抑止したい
https://zenn.dev/microsoft/articles/blazor-dotnet8-do-not-double-click
.NET 8 の ASP.NET Core Blazor でボタンなどの二度押しを抑制する方法について。
記事ではフォームを使った場合の実装についても触れている。
Using Polly v8 with HttpClientFactory
https://truestorydavestorey.medium.com/using-polly-v8-with-httpclientfactory-3f9a64359990
HttpClientFactory で Polly v8 を使用する方法について。
記事では v7 から v8 へと移行する際に必要となった変更についても解説している。
neue cc - R3 - C#用のReactive Extensionsの新しい現代的再実装
https://neue.cc/2024/02/27_R3.html
Reactive Extensions を現代的な視点に基づいて再設計/再実装したライブラリー R3 についての解説。
記事ではどのような観点で R3 を再構築するに至ったか、どのような点が現代的なものであるのかといった設計思想を説明している。
AWS Lambdaで.NET 6から.NET 8に移行したときにやったこと - Qiita
https://qiita.com/kaz-matsubara/items/259de11eb3f30f9bda1f
.NET 6 で実装された AWS Lambda プロジェクトを .NET 8 へと移行したことについて。
【WPF】数値しか入力できないTextBox
https://zenn.dev/nuits_jp/articles/2024-02-25-numeric-text-box
WPF で数値のみ入力可能となる TextBox を実装する方法について。
Async / Await vs. PipeTo>T> in Akka.NET Actors
https://petabridge.com/blog/async-await-vs-pipeto/
Akka.NET アクターでのおける async/await と PipeTo の挙動やパフォーマンスといった面での比較。
ライブラリ、リポジトリ、ツールなど
GummyCat - Visualize the activity of the .NET garbage collector
https://minidump.net/gummycat/
.NET ヒープのメモリーレイアウトを表示し、GC の動作を可視化するツール。
View your GCs statistics live with dotnet-gcstats!
https://chnasarre.medium.com/view-your-gcs-statistics-live-with-dotnet-gcstats-e670ce949bd9
GC の統計情報を見るコマンドラインツール。
イベント
C#パフォーマンス勉強会 (2024/04/27 13:30〜)
https://cs-reading.connpass.com/event/309714/
サイト、ドキュメントなど
ツイート
Visual Studio 17.10 Preview 2 に C# 13 プレビュー機能として Lock 型対応がマージされた話。
We merged a preview C# 13 feature into VS 17.10 (preview 2): locking on `Lock` type.
— Julien Couvreur (@jcouv) March 4, 2024
It special-cases how `System.Threading.Lock` interacts with the `lock` statement for improved usability and performance.https://t.co/UZoTASkyfY
読み取り専用接続にまとめて AsNoTracking
を指定する方法。
Set Entity Framework AsNoTracking() globally ⬇
— Dave Callan | dotnet (@Dave_DotNet) March 3, 2024
Perfect for read-only scenarios. #dotnet pic.twitter.com/UQ7Qp9bjEn
Visual Studio でソリューションごとに設定を変更をオーバーライドできるようになる話。
Settings can now follow any individual solution in Visual Studio. Coming soon... pic.twitter.com/W3DqgS6ecy
— Mads Kristensen (@mkristensen) February 29, 2024
Visual Studio のエディターでのイタリック体の対応。
I just updated my nightly build of Visual Studio and found this. Coming soon... pic.twitter.com/b3e4CyNCye
— Mads Kristensen (@mkristensen) February 23, 2024