2025-02-07: .NET 9 Networking Improvements, ASP.NET Core 2.3 Servicing Release, Tracebit is written in C#

Published on Friday, 07 February 2025

トピックス

.NET 9 Networking Improvements - .NET Blog

https://devblogs.microsoft.com/dotnet/dotnet-9-networking-improvements/

.NET 9 のネットワーク周りの改善についての解説記事。

  • HTTP
    • コネクションプーリング
    • Windows でのプロキシー自動更新
  • QUIC
    • パブリック API
    • QUIC 接続オプション
    • ストリームキャパシティ API
    • パフォーマンス改善
  • WebSocket
    • PING/PONG
  • .NET Framework 互換性
  • 診断
    • HttpClientFactory のログにおける URI クエリーのリダクション
    • 分散トレーシングの改善
      • 実験的接続トレーシング
  • HttpClientFactory
    • キー付き DI サポート
    • デフォルトプライマリーハンドラーの変更
  • セキュリティー
    • SSLKEYLOGFILE サポート
    • クライアント証明書での TLS レジューム
    • Negotiate API 整合性チェック
  • ネットワーキングプリミティブ
    • Server-Sent Events パーサー
    • 追加のプリミティブ

ASP.NET Core on .NET Framework servicing release advisory: ASP.NET Core 2.3 - .NET Blog

https://devblogs.microsoft.com/dotnet/servicing-release-advisory-aspnetcore-23/

.NET Framework 向け ASP.NET Core 2.3 のサービスリリースについて。

記事では改めて ASP.NET Core 2.1 が .NET Framework 向けの ASP.NET Core 2.3 として再リリースされた背景と 2.3 となった理由について説明している。

Why Tracebit is written in C# | Tracebit

https://tracebit.com/blog/why-tracebit-is-written-in-c-sharp

セキュリティー関連のサービスを提供する Tracebit が C# で開発している理由についての記事。

記事では C# を選択した理由として、生産性、オープンソース、クロスプラットフォームや必要なものがそろっていること、ツーリング、パフォーマンスといった様々な面でのメリットを挙げている。

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

コンソールアプリにGenericHostを入れて便利に最新機能を使う(コード例を紹介) - Qiita

https://qiita.com/spc_ksudoh/items/441e68ad4b2532aaa22a

コンソールアプリケーションに汎用ホストを導入する方法について。

Writing a .NET Garbage Collector in C# - Part 2

https://minidump.net/writing-a-net-gc-in-c-part-2/

C# (.NET + Native AOT) で .NET のガベージコレクターを実装するシリーズの第2回目。メモリーを割り当てて開放しない GC を実装するところまでを解説。

HTTP File updates for Request Variables and more - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/http-file-updates-for-request-variables-and-more/

Visual Studio 2022 17.12 以降でサポートされた .http ファイルのリクエスト変数についての解説。

記事ではリクエスト変数と共通に使える値を持つ $shared 環境に解説している。

Uno Platform Wants Microsoft to Improve .NET WebAssembly in Two Ways -- Visual Studio Magazine

https://visualstudiomagazine.com/Articles/2025/02/04/Uno-Platform-Wants-Microsoft-to-Improve-WebAssembly.aspx

Uno Platform が Microsoft に対して .NET の WebAssembly の改善を求めている2点(ガベージコレクションとマルチスレッド)についてを解説している。

.NETでWebページのPDFを作成する - Qiita

https://qiita.com/omt_teruki/items/48c486c521bfa969776a

.NET アプリケーションで PDF ファイルを作成する方法について。記事では iText や有償のライブラリーを使用せず、Chromium を ChromeDriver で実行して生成する方法を紹介している。

未経験からプロへ!.NETを実践的に学ぶBIPROGYの研修プログラム - Qiita

https://qiita.com/MasatsunaKawamata/items/962206a5fc8147ff21fd

BIPROGY での .NET の研修プログラムについての紹介記事。

記事ではどのような研修を行っているのか、研修でベースとしている独自のアーキテクチャについての紹介など。

Your fonts are now preserved when changing theme - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/your-fonts-are-now-preserved-when-changing-theme/

Visual Studio 2022 の最新の更新プログラム以降、テーマを変更してもフォントが保持されるようになったことについての解説。

記事ではこの挙動を以前のものに戻す方法についても解説している。

Supporting multiple .NET SDK versions in a source generator: Creating a source generator - Part 14

https://andrewlock.net/creating-a-source-generator-part-14-supporting-multiple-sdk-versions-in-a-source-generator/

複数のバージョンの .NET SDK (=複数バージョンの Roslyn) をサポートする Source Generator を作成する方法についての解説記事。

記事ではパッケージの作成方法から統合テストを行う方法まで解説している。

C#でIoTプログラミング on ESP32 #0 - Qiita

https://qiita.com/linyixian/items/912cfca9e76b7c9bc287

ESP32 で .NET nanoFramework を使用したコードを実行する手順について。

Customize your AI-generated git commit messages - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/customize-your-ai-generated-git-commit-messages/

Visual Studio のコミットメッセージの AI 生成機能をカスタムインストラクションで制御する方法についての解説。

C# 12で進化したコレクション操作の基本と応用

https://zenn.dev/ktnd111/articles/14a0f43a7cfc15

C# 12 のコレクション式をはじめとしたモダンな書き方とその応用例の解説。

AutoGenを使って複数のモデルに同時に話しかけてみた - Qiita

https://qiita.com/Sheegyy/items/5b542f390a683dcfbd34

.NET 版 AutoGen で複数のモデルを使用する実装を行う方法について。

C#定石 - ファイル選択 - Drag & Drop とファイル選択ダイアログ

https://zenn.dev/chai0917/articles/331f5919307f1d

Windows での .NET によるファイル選択の実装について。

記事ではファイル選択ダイアログを使用する方法とドラッグアンドドロップによる実装を解説している。

C# の型システムで Brainf*ck コンパイラを作ってみた - Qiita

https://qiita.com/hez2010/items/d02287771efbe65e5cd6

C# のジェネリクスなどを駆使して Brainf*ck のコンパイラを作成する方法について。

記事では Brainf*ck コンパイラの実装方法や実行した結果のパフォーマンスについて解説している。

Build Intelligent Apps with .NET and DeepSeek R1 Today! - .NET Blog

https://devblogs.microsoft.com/dotnet/start-building-an-intelligent-app-with-dotnet-and-deep-seek/

.NET アプリケーションから DeepSeek R1 を使用する方法についての解説記事。

記事では Microsoft.Extensions.AI ライブラリーを使用して GitHub Models にホストされた DeepSeek R1 を使用する方法を解説している。

【C#】JsonContent と Request Header。 - ねののお庭。

https://blog.neno.dev/entry/2025/02/01/185538

JsonContent でリクエストを送信した際のリクエストヘッダーで Content-Length を付ける(chunk リクエストをやめる)方法について。

記事では問題の背景となった Google Cloud Run での挙動についても触れている。

LINQPadのUtil.Difで差分を確認する - tech.guitarrapc.cóm

https://tech.guitarrapc.com/entry/2025/01/26/235900

LINQPad でオブジェクトの差分を出力する Util.Dif メソッドについての解説記事。

LINQPad for macOS (Beta)を試す - tech.guitarrapc.cóm

https://tech.guitarrapc.com/entry/2025/01/27/235900

LINQPad for macOS (Beta) を macOS で試す方法を含めた、実際の使用感、細かい挙動の違いについて。

dotnet testのテスト失敗時に自動リトライさせる - tech.guitarrapc.cóm

https://tech.guitarrapc.com/entry/2025/01/30/235900

dotnet test でテストが失敗した際に自動でリトライする方法について。

記事では自力でリトライする方法、 dotnet-test-rerun と dotnet-retest を使用した方法を紹介している。

C#でCPUモデルを取得する - tech.guitarrapc.cóm

https://tech.guitarrapc.com/entry/2025/01/28/235900

C# のコードから現在実行されているコンピューターの CPU モデルを取得する方法について。

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

umlx5h/LLPlayer: The media player for language learning, with dual subtitles, AI-generated subtitles, realtime-OCR, translation, word lookup, and more!

https://github.com/umlx5h/LLPlayer

ツイート

Deep Dive

JIT: De-abstraction in .NET 10 · Issue #108913 · dotnet/runtime

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