2023-11-03: Uno Platform 5.0, StackExchange.Redis 2.7.4, Polly 8.1.0, BenchmarkDotNet v0.13.10

Published on Friday, 03 November 2023

トピックス

Five is for 5X productivity. Announcing Uno Platform 5.0

https://platform.uno/blog/uno-platform-5-0/

Uno Platform 5.0 がリリースされた。

このリリースでは C# Markup (XAML に代わる Fluent スタイルの UI 記述)、Figma to C# Markup プラグイン、改善されたホットリロード、MVUX (Model-View-Update eXtended) の改善、Xamarin および .NET 6 のサポート削除など様々な改善や変更が含まれている。

Release 2.7.4 · StackExchange/StackExchange.Redis

https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.7.4

StackExchange.Redis 2.7.4 がリリースされた。

このリリースでは RESP3 プロトコルのサポートが追加されている。RESP3 では結果の形式に一部違いがあるため利用にはコードや接続文字列で明示的に指定する必要があり、直接コマンドを扱っている場合などには対応が必要となる。

Release 8.1.0 · App-vNext/Polly

https://github.com/App-vNext/Polly/releases/tag/8.1.0

Polly 8.1.0 がリリースされた。

このリリースでは AOT での互換性の向上、ResilienceContextPool の DI からの設定といった改善が行われている。

BenchmarkDotNet v0.13.10 · dotnet/BenchmarkDotNet · Discussion #2457

https://github.com/dotnet/BenchmarkDotNet/discussions/2457

BenchmarkDotNet v0.13.10 がリリースされた。

このリリースでは .NET 9 のサポートが追加されている。

.NET 8 Performance Improvements in .NET MAUI - .NET Blog

https://devblogs.microsoft.com/dotnet/dotnet-8-performance-improvements-in-dotnet-maui/

.NET 8 での .NET MAUI のパフォーマンス改善について。

  • 新機能
  • ビルド、インナーループパフォーマンス
  • パフォーマンスやアプリサイズの改善
  • メモリーリーク
  • ツールとドキュメント

Release WinUI 3 in WinAppSDK 1.4.2 · microsoft/microsoft-ui-xaml · GitHub

https://github.com/microsoft/microsoft-ui-xaml/releases/tag/winui3/release/1.4.2

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

このリリースは主にクラッシュなど不具合等の修正が行われている。ソースコードも利用可能となっている

Release Diagnostics Release - v8.0.452401 · dotnet/diagnostics

https://github.com/dotnet/diagnostics/releases/tag/v8.0.452401

.NET 診断ツール 8.0.452401 がリリースされた。

このリリースでは dotnet-monitor と counters の統合や dotnet-dump/SOS のいくつかの改善などが含まれている。

.NET Framework October 2023 Cumulative Update Preview - .NET Blog

https://devblogs.microsoft.com/dotnet/net-framework-october-2023-cumulative-update-preview/

.NET Framework 2023年10月の累積アップデートのプレビューリリース。

このリリースでは XAML/XPS の解析時に関する問題の修正が含まれている。

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

Microsoft Ignite 2023 is around the corner! (Nov 14-17) - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/microsoft-ignite-2023-is-around-the-corner-nov-14-17/

Microsoft Ignite 2023 (11月14日から17日まで) とそのイベントでの Visual Studio に関するセッションについての紹介。

Copy-on-Write in Win32 API Early Access - Engineering@Microsoft

https://devblogs.microsoft.com/engineering-at-microsoft/copy-on-write-in-win32-api-early-access/

Windows 11 Insider Canary Channel で CopyFile API が ReFS (DevDrive) で Copy-on-Write に対応したことについて。

これによりビルドエンジンやツールといったものを CoW のために対応する必要がなくなる。

A new F# compiler feature: graph-based type-checking - .NET Blog

https://devblogs.microsoft.com/dotnet/a-new-fsharp-compiler-feature-graphbased-typechecking/

F# コンパイラーでの新しいグラフベースでの型チェックの仕組みについて。

Trying out MongoDB with EF Core using Testcontainers - .NET Blog

https://devblogs.microsoft.com/dotnet/efcore-mongodb/

Testcontainers を使用して Entity Framework Core でサポートされた MongoDB の操作を試してみる方法について。

OmniSharp-Vim と fzf を連携させる - Qiita

https://qiita.com/lx-sasabo/items/b2226eb3594a2acaeafb

Vim で C# を記述するための OmniSharp-Vim と fzf を連携させて Find Usages を実現する方法について。

Entity Framework Coreで特定の具象型に依存せずオブジェクトを保存・復元する

https://zenn.dev/oyasumi731/articles/4a9e30385d0736

Entity Framework Core で抽象型と継承を使用したマッピングを行う方法 (able-Per-Hierarchy (TPH) パターン) について。

【C#】AES を使用した暗号化と復号の手順

https://zenn.dev/nekojoker/articles/670824eeaa1ba8

AES でデータを暗号化と復号する実践的な手順についての解説。

Avoiding flaky tests with TimeProvider and ITimer: Exploring the .NET 8 preview - Part 12

https://andrewlock.net/exploring-the-dotnet-8-preview-avoiding-flaky-tests-with-timeprovider-and-itimer/

.NET 8 で導入される時刻とタイマーの抽象化である TimeProviderITimer を使用方法とそれによりユニットテストを安定的に行えるようにすることについて。

Developers’ Guide to Generate .NET API Client with Kiota

https://medium.com/@ismailozcelik/developers-guide-to-generate-net-api-client-with-kiota-29ef9ec3ba87

OpenAPI で定義された REST API のクライアントを生成する Kiota を使用する方法について。

Organizing ASP.NET Core Minimal APIs

https://www.tessferrandez.com/blog/2023/10/31/organizing-minimal-apis.html

ASP.NET Core Minimal APIs で API を定義、実装する際のコードを整理する手法の紹介。拡張メソッドによる集約や MapGroup でのグルーピングなど。

.NET 8 makes you faster. Everyday.

https://medium.com/medialesson/net-8-makes-you-faster-everyday-233f9740379d

.NET 8 とそれ以前でのいくつかの基本的なクラスでのパフォーマンスの比較。

Porting Unity to CoreCLR | Unity Blog

https://blog.unity.com/engine-platform/porting-unity-to-coreclr

Unity の CoreCLR への移植についての解説。記事では Unity を CoreCLR での GC で動かすために行っていることについて解説している。

Global Endpoint Filters with ASP.NET Core Minimal APIs

https://khalidabuhakmeh.com/global-endpoint-filters-with-aspnet-core-minimal-apis

.MapGroup(string.Empty) で空のグループを作成し、それに対してエンドポイントフィルターを指定することでグローバルなフィルターとして定義できるというテクニックの紹介。

.NET 8 で既定で有効になった Dynamic PGO について - ねののお庭。

https://blog.neno.dev/entry/2023/10/29/131336

.NET 8 で規定で有効となった Dynamic PGO について、PGO の仕組みやその最適化に至るまでの挙動といった部分の解説。

What’s new in F# 8

https://amplifying-fsharp.github.io/files/sessions/amplify-fsharp-october-2023.pdf

F# 8 での変更点についてのまとめスライド。

How to use Testcontainers with .NET Unit Tests | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/10/24/how-to-use-testcontainers-with-dotnet-unit-tests/

Testcontainers を使用してコンテナーで一時的なデータベースを使用したユニットテストを記述する方法について。

記事ではコレクションごとやクラスごとにコンテナーを使う方法や ASP.NET Core アプリケーションのテストなどについても触れている。

Short-circuit routing in .NET 8: Exploring the .NET 8 preview - Part 11

https://andrewlock.net/exploring-the-dotnet-8-preview-short-circuit-routing/

.NET 8 の ASP.NET Core で導入されたショートサーキットルーティングについての解説。

ショートサーキットルーティングはエンドポイントの処理に関してミドルウェアをスキップできる仕組み。

コレクション式 | ++C++; // 未確認飛行 C ブログ

https://ufcpp.net/study/csharp/datatype/collection-expression/

C# 12 で導入されるコレクション式についての解説。

.NET6 から TLS=true で Amazon DocumentDB に接続する - Qiita

https://qiita.com/ishiyama0530/items/0c5dd19ab4df548c2c5f

.NET 6 のコンテナーから Amazon DocumentDB に TLS を有効にして接続する際に証明書の問題が発生する県について。

.NET 8 の Blazor の新機能 「AddCascadingValue メソッド」

https://zenn.dev/microsoft/articles/dotnet8-blazor-01

.NET 8 の Blazor に追加された AddCascadingValue について。カスケードされる値を提供する方法としてコンポーネントからではなくサービスに登録する方法が提供される。

Rider 2023.3 EAP 4: Improved Experience for Running Multiple Projects, Type Dependency Diagrams, and More | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/10/23/rider-2023-3-eap-4/

Rider 2023.3 EAP 4 がリリースされた。

このリリースでは複数のプロジェクトの実行やソリューションフィルターの保存、型の依存ダイアグラム、Central Package Management でのコード補完、パフォーマンスプロファイリングの改善といったものが含まれている。

neue cc - 他言語がメインの場合のRustの活用法 - csbindgenによるC# x Rust FFI実践事例

https://neue.cc/2023/10/23_rusttokyo.html

Rust の C# バインディングライブラリー csbindgen での経験をもとにした Rust の活用方法についてのセッションとそのフォローアップ。

Using FluentScheduler with C#

https://dev.to/karenpayneoregon/using-fluentscheduler-with-c-29ck

ライブラリ、リポジトリ、ツールなど

jsakamoto/Toolbelt.Blazor.ViewTransition: A router component and a service that makes your Blazor apps have pretty animated transition effects between pages with the View Transitions API.

https://github.com/jsakamoto/Toolbelt.Blazor.ViewTransition

Blazor 上でページ間トランジションを提供する Router コンポーネント。

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

.NET Conf Calendar

https://dotnetconf-calendar.azurewebsites.net/

.NET Conf 2023 のスケジュールを iCalender 形式で提供するサイト。

ツイート