2024-03-05: Windows App SDK 1.5, StackExchange.Redis 2.7.27, NCrunch V5

Published on Tuesday, 05 March 2024

トピックス

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

https://learn.microsoft.com/ja-jp/windows/apps/windows-app-sdk/stable-channel#version-145-14240211001

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

https://devblogs.microsoft.com/visualstudio/winforms-designer-selection-for-32-bit-net-framework-projects/

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 型対応がマージされた話。

読み取り専用接続にまとめて AsNoTracking を指定する方法。

Visual Studio でソリューションごとに設定を変更をオーバーライドできるようになる話。

Visual Studio のエディターでのイタリック体の対応。