トピックス
The Next Chapter: Uno Platform Studio and Uno Platform 6.0 ANNOUNCED!
https://platform.uno/blog/uno-platform-studio-6-0/
Uno Platform 6.0 がリリースとなった。
このリリースに伴い Uno Platform Studio も一般提供開始となる。Uno Platform Studio は Uno Platform とは異なり商用製品となるためライセンスの購入が必要となる(期間限定で20%オフ)。
Uno Platform 6.0 では Skia ベースの新しいレンダリングエンジンによるパフォーマンスの向上や新しいコントロールの追加、XAML トリミング、非 UI クラスプラットフォームライブラリーの Uno.WinRT の導入といった様々な新規機能が含まれている。
Announcing the end of support for AWS DynamoDB Session State Provider | Amazon Web Services
AWS DynamoDB Session State Provider for .NET が廃止となるアナウンス。
6か月のサポート期間ののち、2025年11月14日にサポートが終了する。ASP.NET Core アプリケーションでの利用には AWS .NET Distributed Cache Provider が推奨となる。
General Availability of AWS SDK for .NET V4.0 | Amazon Web Services
https://aws.amazon.com/jp/blogs/developer/general-availability-of-aws-sdk-for-net-v4-0/
AWS SDK for .NET V4.0 が一般提供となった。
このバージョンでは API は大きくは変わっていないものの、パフォーマンスの向上や他の SDK との一貫性、破壊的変更が必要であったユーザビリティー上の修正などが含まれている。
V4 は利用側に大幅な変更は発生しないようになっているが、.NET Framework 3.5 のサポートが削除され、リクエスト/レスポンスの null のとりあつかいなどいくつかの変更がある。また V3 と V4 は共存できないため、コアパッケージ(AWSSDK.Core)とサービスパッケージ(AWSSDK.SQSなど)の参照はどちらかのバージョンに統一する必要がある。
C# 14 - Exploring extension members - .NET Blog
https://devblogs.microsoft.com/dotnet/csharp-exploring-extension-members/
C# 14 の新機能である拡張メンバー (extension members) の紹介。
記事では拡張メンバーの概要や現時点での記述方法、設計上の課題など拡張メンバーが可能なこととどのように実現されるのかといった点について書かれている。
Migrating away from Rust.
https://deadmoney.gg/news/articles/migrating-away-from-rust
開発していたゲームを6週間かけて Rust から C# に移行した話。
記事では Bevy (Rust のゲーム向けフレームワーク) を採用した理由と、その後 Unity へ移行した経緯、どのように移行したのか、移行後に残っている課題などが書かれている。
Why we built our startup in C# - .NET Blog
https://devblogs.microsoft.com/dotnet/why-we-built-our-startup-in-csharp/
なぜスタートアップがサービスを C# で開発したのかについて、Tracebit の CTO による寄稿記事。
生産性やモダン、オープン、標準ライブラリーの豊富さ、表現力の高さ、ツールとパフォーマンスといった点があるとしている。
リリース
- autofac/Autofac
- AvaloniaUI/Avalonia
- aws/aws-sdk-net
- Azure/azure-sdk-for-net
- Azure.Core_1.46.0, Azure.Data.Tables_12.11.0, Azure.Extensions.AspNetCore.DataProtection.Keys_1.5.0, Azure.Messaging.WebPubSub_1.6.0, Azure.ResourceManager.DataFactory_1.8.0, Azure.ResourceManager.NetApp_1.10.0, Azure.ResourceManager.Sql_1.3.0, Azure.ResourceManager.Storage_1.4.2, Azure.ResourceManager.StorageSync_1.3.0, System.ClientModel_1.4.0
- DataDog/dd-trace-dotnet
- dotnet/SqlClient
- FluentValidation/FluentValidation
- googleapis/google-cloud-dotnet
- Google.Cloud.AIPlatform.V1-3.26.0, Google.Cloud.AIPlatform.V1-3.27.0, Google.Cloud.AIPlatform.V1-3.28.0, Google.Cloud.Asset.V1-3.13.0, Google.Cloud.Bigtable.Admin.V2-3.26.0, Google.Cloud.CloudControlsPartner.V1-1.2.0, Google.Cloud.DevTools.ContainerAnalysis-3.10.0, Google.Cloud.DevTools.ContainerAnalysis-3.9.0, Google.Cloud.Logging.Console-1.5.0, Google.Cloud.NetApp.V1-1.9.0, Google.Cloud.Retail.V2-2.13.0, Google.Cloud.Storage.Control.V2-1.3.0
- newrelic/newrelic-dotnet-agent
- open-telemetry/opentelemetry-dotnet
- open-telemetry/opentelemetry-dotnet-contrib
- StackExchange/StackExchange.Redis
- unoplatform/uno
アーティクル、スライドなど
Packaging and Publishing a .NET MAUI Library with GitHub Actions - .NET Blog
https://devblogs.microsoft.com/dotnet/dotnet-maui-libraries-github-actions/
.NET MAUI ライブラリを GitHub Actions を使ってパッケージングし、NuGet.org に公開する方法について。
ReSharper and Rider 2025.1.2 – Bug Fixes Have Landed! | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2025/05/08/resharper-rider-2025-1-2-bug-fix/
ReSharper と Rider の 2025.1.2 がリリースされた。
ReSharper のこのリリースではいくつかの不具合が修正されている。Rider ではいくつかの不具合の修正のほか、ネイティブとマネージを同一デバッグセッションでデバッグする混合モードがベータ機能として追加された (現時点では Windows x64 の Mono のみサポート)。
オーバーフローするカウンタ差分計算をC#で正しく実装する方法
https://zenn.dev/kunimasu/articles/601f1fba81571b
一定のビット数でオーバーフローするカウンターを実装する方法について。
c#でloh入りを逃れるためにRopeを改良してみた
https://qiita.com/rirufa/items/133d02897c2f14f70f08
巨大なテキストファイルを保持するような場合に配列の代わりに Rope を使うことで LOH に割り当たるのを避ける方法と、その実装の改修について。
Ubuntu のバージョンを 24 から 25 にあげたら dotnet コマンドがエラーを起こすようになった
https://zenn.dev/j_sakamoto/articles/dd76f45b20af2f
Ubuntu 24.04 から 25.04 にアップグレードしたところ、dotnet コマンドがエラーを起こすようになった話。原因としては libicu76 がインストールされていなかったことによるとのこと。
C# で Discriminated Union を再現し、型安全性を高める
https://zenn.dev/thinkingsinc/articles/c43feaf285a8b6
C# で Discriminated Union のようなものを再現する方法と利点や課題などについて。
WPF - カスタムコントール - CheckBox 外観変更
https://zenn.dev/chai0917/articles/0854c363082a4c
カスタムコントロールでチェックボックスの外観をカスタマイズする方法について。
ADO.NETヘルパーライブラリを公開しました
https://qiita.com/mxProject/items/c2678b3ebcf494457666
ADO.NET のヘルパーライブラリを公開したという記事。記事ではヘルパーライブラリーの提供する機能にいて紹介している。
Exploring the new AI chat template
https://andrewlock.net/exploring-the-new-ai-chat-template/
現在プレビューで提供されている Microsoft.Extensions.AI.Templates (AI チャットテンプレート) について掘り下げている記事。
HTTP通信のレジリエンス戦略
https://zenn.dev/metalmental/articles/20250506_resilience-polly
HTTP のリクエストの回復性を高める方法について。記事では Polly を使用したリトライを紹介している。
もう少しマシなライセンス認証機能を作る ~C# でECDSA署名~
https://qiita.com/mikecat_mixc/items/cbcce88a478a447dd50b
ECDSA 署名を使ったライセンス認証機能の実装について。
YarpでAzure Open AIの負荷分散用Reverse Proxyを作る
https://qiita.com/smr1/items/85a98455f18db732c221
Yarp を使用して Azure OpenAI の負荷分散用リバースプロキシを作成する方法について。
記事ではリバースプロキシーの必要性や、実際の実装方法について触れている。
dotInsights | May 2025 | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2025/05/06/dotinsights-may-2025/
JetBrains による2025年5月の .NET 関連情報のまとめ。
neue cc - ゼロアロケーションLINQライブラリ「ZLinq」のリリースとアーキテクチャ解説
https://neue.cc/2025/05/05_ZLinq.html
ゼロアロケーション LINQ を実現する ZLinq をリリースしたことと、どのようにして実現したのかといったアーキテクチャーのついての詳しい解説。
Bending .NET: How to Stack-Allocate Reference Types in C#
https://dev.to/maximiliysiss/bending-net-how-to-stack-allocate-reference-types-in-c-73g
参照型を無理やりスタックに配置してみるという試みとその手法。
How To Implement Retries and Resilience Patterns With Polly and Microsoft Resilience
Microsoft.Extensions.Resilience を使用したリトライやサーキットブレーカーやタイムアウト、フールバックやヘッジングなどの実装方法について。
Creating a 'pooled' dependency injection lifetime
https://andrewlock.net/creating-a-pooled-dependency-injection-lifetime/
DI コンテナーでプールされたサービスを実装する方法について。記事では制限や役に立つのかどうかについても触れている。
Semantic Kernelで社内向けAIアシスタントを作った - Qiita
https://qiita.com/omt_teruki/items/4e091282ed6e25735f09
Semantic Kernel を使用して Slack と Notion を連携した社内向け AI アシスタントを作成した話。
Transfer .NET Core Dumps On Linux
https://medium.com/@meriffa/transfer-net-core-dumps-on-linux-7c60df52cc7e
Linux での .NET アプリケーションのコアダンプの取り方、LLDB などでの読み込み方について。
History of C#: versions, .NET, Unity, Blazor, and MAUI
https://dev.to/pvsdev/history-of-c-versions-net-unity-blazor-and-maui-470m
C# とそれに関連したテクノロジー (.NET, WPF など) の歴史。
Set the default file encoding - Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/set-the-default-file-encoding/
Visual Studio 2022 でファイルのデフォルト文字エンコーディングを設定する機能の紹介。
Semantic Kernel + Blazor の InteractiveServer でツール呼び出し前に人の確認を挟む
https://zenn.dev/microsoft/articles/semantic-kernel-19
Semantic Kernel と Blazor を組み合わせたチャットによるやり取りの中でツールを呼び出す際にユーザーの確認を挟むようにする方法について。
P/Invoke でのコールバックあれこれ
https://zenn.dev/mayuki/articles/2de8168706de3b
P/Invoke でコールバックを取り扱う方法と注意すべき点についての解説。
Semantic KernelでGeminiを使用してみた
https://zenn.dev/nexta_/articles/33c32b7c1e7c17
Semantic Kernel を使用して Gemini を利用する方法について。
ライブラリ、リポジトリ、ツールなど
nuskey8/McpToolkit: Lightweight, fast, NativeAOT compatible MCP (Model Context Protocol) framework for .NET
https://github.com/nuskey8/McpToolkit
Source Generator ベースの軽量な MCP (Model Context Protocol) フレームワーク。
ツイート
We merged a C# 14 feature into VS 17.14p3: Null-conditional assignment
— Julien Couvreur (@jcouv) May 9, 2025
Permits assignment to occur conditionally within a `a?.b` or `a?[b]` expression.
Example: `x?.P = M();`
Spec: https://t.co/tsMrPKHTW3
Very soon
— Mads Kristensen (@mkristensen) May 6, 2025
🚀 Big WPF support improvements just landed in OpenSilver's "develop" branch! Highlights:
— OpenSilver - WPF/Silverlight for the Web (@OpenSilverTeam) April 30, 2025
• Preview events (e.g. PreviewMouseLeftButtonDown) for input interception
• Routed commands & key gestures
• TextSearch.Text support in ListBox/ComboBox
• ItemsControl.AlternationCount…
Deep Dive
Blazor - rendering metrics and tracing by pavelsavara · Pull Request #61609 · dotnet/aspnetcore
https://github.com/dotnet/aspnetcore/pull/61609
Blazor のレンダリングのメトリクスとトレースを追加する PR。