2025-04-07: AutoMapper and MediatR Going Commercial, MassTransit v9 to Commercial, Teams Push Notification Hub migrated to .NET 8

Published on Monday, 07 April 2025

トピックス

AutoMapper and MediatR Going Commercial

https://www.jimmybogard.com/automapper-and-mediatr-going-commercial/

AutoMapper と MediatR のライセンスを変更し商用化を予定していることについて。

記事では商用化を決めた経緯について触れられている。現時点で具体的な日付/バージョンは決まっていない。

Announcing MassTransit v9

https://masstransit.io/introduction/v9-announcement

MassTransit v9 のリリースについてのアナウンス。

v9 からは商用ライセンスモデルに移行する。v8 はオープンソースのままとなるが、新機能やパフォーマンスの強化、エンタープライズ向けの機能は v9 でのみ提供される。

記事では移行やタイムライン、ライセンス変更に伴う FAQ が掲載されている。

Modernizing push notification API for Teams - .NET Blog

https://devblogs.microsoft.com/dotnet/modernizing-push-notification-api-for-teams/

Teams の Push Notification Hub (プッシュ通知ハブ) を .NET Framework から .NET 8/ASP.NET Core へ移行した事例について。

記事では Push Notification Hub がどのような構成や仕組みとなっているのか、移行に伴う期待、段階的移行の詳細/効果が解説されている。

.NET on Heroku: Now Generally Available

https://blog.heroku.com/dotnet-now-generally-available

Heroku 上での .NET のサポートが Generally Available (一般提供) となった。

ASP.NET Core のポート設定やフレームワーク依存のデプロイなどをサポートし、Heroku Pipelines や CI などのサービスを活用することもできる。

Your Pluralsight Benefit Just Got Better - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/vss-pluralsight-2025/

Visual Studio サブスクリプションの特典である Pluralsight の期間が延長となった。Enterprise は12か月、Professional は6か月となる。

Announcing Windows Community Toolkit v8.2 - #ifdef Windows

https://devblogs.microsoft.com/ifdef-windows/announcing-windows-community-toolkit-v8-2/

Windows Community Toolkit v8.2 がリリースされた。

このリリースでは依存するプラットフォームが Windows App SDK 1.6 と Uno Platform 5.5 に引き上げられた。新しい機能としては Native AOT への対応、.NET 9 での UWP サポート、SwitchConverter の追加、WinUI 3 での AcrylicBrush 再有効化、DispatcherQueueTimer.Debounce の改善などが含まれる。

リリース

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

MCP のサーバーからの通知をC# SDK で作る方法

https://zenn.dev/microsoft/articles/mcp-notification

MCP の C# SDK を使用してサーバーから通知を送信する方法について。

MCP の Prompt をC# SDK で作る方法

https://zenn.dev/microsoft/articles/mcp-prompt-001

MCP の C# SDK を使用して Prompt を実装する方法について。

Azure Functions で MCP サーバーが作れるようになりました!

https://zenn.dev/microsoft/articles/mcp-azurefunctions

Azure Functions で .NET ベースの MCP サーバーを実装する方法について。

Visual Studio で .NET Framework プロジェクトを SDK スタイルで作成する方法

https://zenn.dev/sakaki_web/articles/cf6e1a4e7e68dd

.NET Framework プロジェクトの .csproj を SDK スタイルにする手順について。

CsWin32でWindows用ネイティブEXEからリソースデータを取り出す場合の注意点

https://qiita.com/skitoy4321/items/6c69d7605f26abf7c652

CsWin32 で Win32 API を使用して Windows の実行ファイルからリソースデータを取り出す方法と注意点について。

Finalizers are tricker than you might think. Part 2

https://sergeyteplyakov.github.io/Blog/2025/03/27/Finalizers_are_tricker_than_you_might_think_p2.html

P/Invoke のハンドルを保持したラッパーのようなものを取り扱う場合の Finalizer と GC の挙動の注意点について。

Investigate Thread Pool Starvation with .NET Events Viewer

https://techblog.criteo.com/investigate-thread-pool-starvation-with-net-events-viewer-1fa8453afd80

実アプリケーションで Sync-over-Async によるスレッドプールの枯渇を調査した話。記事では .NET イベントビューアーと .NET 9 で新たに増えたイベントを使用して調査する方法について触れている。

Anti-Debugging with .NET in Windows Environment - BenGabay - Medium

https://medium.com/@bengabay1994/anti-debugging-with-net-in-windows-environment-d5955e207c86

Windows 上での .NET アプリケーションのアンチデバッグの手法について。

NativeAOT対応!AvaloniaでWindows シェルAPIを利用したコンテキストメニュー実装

https://zenn.dev/yoi/articles/a4ba78677b19e5

Native AOT と Avalonia を使用したアプリケーションで Windows のシェル API を使用して、ファイルのコンテキストメニューを呼び出す実装について。

【C#】NRandom - .NET / Unity向けの擬似乱数生成ライブラリ

https://zenn.dev/nuskey/articles/59eb9fcf3a9f75

以前 RandomExtensions という名前で公開されていた疑似乱数生成ライブラリーが NRandom という名前に代わり、API の変更なども含めてて新たにリリースとなった。

Creating SBOM attestations in GitHub Actions

https://andrewlock.net/creating-sbom-attestations-in-github-actions/

GitHub Actions で NuGet パッケージの SBOM アテステーションの作成方法について。

記事では Attestation の作成のための構成や検証、NuGet との問題点について解説している。

ReSharper's Out-of-Process Journey: Major Progress and Next Steps | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2025/04/01/resharper-out-of-process-update/

ReSharper の Out-of-Process 化の道のりについての報告。記事では改めて OOP と何か、どのような意味があるか、どのように進めていてどこまで進捗しているのかといったことを説明している。

View and manage git tags - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/view-and-manage-git-tags/

Visual Studio 上で Git のタグを確認、管理できるようになったことについての紹介。

.NET で MCP サーバー・クライアントを試してみよう

https://zenn.dev/microsoft/articles/semantickernel-mcp

.NET (C#) で MCP サーバーとクライアントの SDK を使用し実装してみた話。

IronPython3によるスクリプティング環境の実装とダイアログAPIの実例

https://qiita.com/yoiyoi322/items/90d128468bf0ceff72d1

IronPython 3 での標準出力に関するエラーの回避方法と Avalonia を使用した実装に関連した問題の対策について。

What's New in C# 14? Key Features and Updates You Need to Know | Syncfusion Blogs

https://www.syncfusion.com/blogs/post/whats-new-in-csharp-14-key-features

C# 14 で導入される予定の新機能の紹介。

WinUI 3 タイトルバーにコントロールを載せる(Visual Studio のように)

https://zenn.dev/shinta0806/articles/rich-title-bar

WinUI 3 を使用してタイトルバーのエリアにコントロールを配置する方法について。

【.NET】HttpClientの正しい使い方

https://qiita.com/yariri/items/bb03c510591996ab4b0b

HttpClient や IHttpClientFactory を使用することで効率よく再利用することについて。

AsposeとZXing.NetのQRデコード速度ベンチ

https://zenn.dev/nuits_jp/articles/2025-03-29-read-barcode-benchmark

QR コード取り扱う Aspose と ZXing.Net でのデコード速度の比較。

.NETにてSystem.Drawing未使用で二値のマルチページTIFFのQRコードを読み取る

https://zenn.dev/nuits_jp/articles/2025-03-29-read-barcode-from-tiff

LibTiff と ZXing.Net を使用して TIFF ファイルから QR コードを読み取る方法について。

https://medium.com/@artillustration391/navigation-navigationview-in-winui-3-81b13f11f859

WinUI 3 の NavigationView についての解説。

Coding Experience Cpp vs Csharp - meetup app osaka@9

https://speakerdeck.com/harukasao/coding-experience-cpp-vs-csharp-meetup-app-osaka-at-9

C#でC#コンパイラを作っている話 | ドクセル

https://www.docswell.com/s/binnmti/5WWYW8-2025-03-29-142631

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

nuskey8/SemVer2: Fast C# Implementation of Semantic Versioning 2.0 for .NET

https://github.com/nuskey8/SemVer2

Semantic Version 2.0 を取り扱うための高速なライブラリー。

ツイート

Deep Dive

[API Proposal]: Public API for the Runtime Async · Issue #114310 · dotnet/runtime

https://github.com/dotnet/runtime/issues/114310

ランタイムに実装された非同期機能のための API の提案。

Remove ConfigureAwait(false) from AsyncEnumerable LINQ by stephentoub · Pull Request #113911 · dotnet/runtime

https://github.com/dotnet/runtime/pull/113911

AsyncEnumerable の内部実装から ConfigureAwait(false) を削除するという PR。

これは LINQ に渡されるデリゲートはアプリコードとしてみなせることから ConfigureAwait(false) によって元の SynchronizationContext に戻さないのが適さない可能性のある使い方に該当するため。