トピックス
Godot C# packages move to .NET 8
https://godotengine.org/article/godotsharp-packages-net8/
Godot 4.4 から C# のパッケージが .NET 8 をターゲットとするアナウンス。
Godot 4.4 以降、既存のプロジェクトは .NET 8 をターゲットとする必要があり、Godot 4.4 で開くことで自動的にアップグレードが行われる。またライブラリーのターゲットは .NET 8 となっているが、プロジェクトがターゲットとするバージョンは任意で .NET 9 や今後のバージョンを指定することも可能。
PostSharp 2025.0 Generally Available: Support for C# 13, .NET 9 and More
https://blog.postsharp.net/postsharp-2025-0-ga
PostSharp 2025.0 がリリースされた。
このリリースでは C# 13 と .NET 9 のサポートや Windows PDB サポートの向上、ロングパスサポート、WeakEventHandler のパフォーマンス向上などが含まれている。
Top .NET Videos & Live Streams of 2024 - .NET Blog
https://devblogs.microsoft.com/dotnet/top-dotnet-videos-live-streams-of-2024/
2024年の .NET に関する公式のおすすめビデオとライブストリームの紹介。
アーティクル、スライドなど
ini ファイルを汎用ホストや ASP.NET Core とかで使う方法
https://zenn.dev/microsoft/articles/how-to-use-inifile
Microsoft.Extensions.Configuration.Ini を使用して .ini ファイルを構成ファイルとして使用する方法について。
phi4 を .NET Aspire で使ってみる
https://zenn.dev/microsoft/articles/phi4-dotnet-with-aspire?redirected=1
Phi-4 モデルを .NET Aspire でホストし、呼び出す方法について。
C#の非同期処理時のCurrentCultureは.NET/.NET Frameworkのバージョンで挙動が変わる - Qiita
https://qiita.com/yamagutiesneo/items/5f81513cd87e1a30f7bd
非同期処理での CurrentCulture の取り扱いが .NET と .NET Framework 4.6 以降/以前で異なることについての解説。
C#定石 - モーダルダイアログに対する最小化の辻褄あわせ - Qiita
https://qiita.com/chai0917/items/eeb70e952e9cda4c3071
サブウィンドウを開いた場合のモーダルダイアログを最小化する際の挙動の考慮について。
[C#]Visual Studio 2022で任意のオブジェクトの変更を通知させるテク
https://zenn.dev/luxiar/articles/b1c5a5b2cf4a78
Visual Studio でデバッグ中に特定のオブジェクトの変更タイミングでブレークする方法について。
IronPython との付き合いかた(その3) - Qiita
https://qiita.com/Mt_SQ/items/b1fbb1a27e0a1a03ad18
.NET 9 に対応した IronPython 3.4.2 について、新しい LINQ オペレーターと共に使用する例を紹介。
Implementing an interceptor with a source generator: Creating a source generator - Part 11
Source Generator でインターセプター使用するものを実装する方法について。
脱PHPプロジェクトが完了しました - Qiita
https://qiita.com/omt_teruki/items/eb0d953198120a2dc7c2
サービスを PHP から C# / .NET へ移行し、その際に当たった落とし穴についての解説。
Unlocking insights with Meter Histogram in the profiler - Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/unlocking-insights-with-meter-histogram-in-the-profiler/
Visual Studio 2022 の診断セッション中のメーターヒストグラムをビジュアライズする機能の紹介。
C#定石 - 多重起動抑止 - Qiita
https://qiita.com/chai0917/items/d59c52e4c12ce0a892f4
アプリケーションを多重起動できなくするための方法について。多重起動された場合の処理などについても触れている。
Writing a String Numeric Comparer with .NET 9
https://khalidabuhakmeh.com/writing-a-string-numeric-comparer-with-dotnet-9
文字列+数字(例: "Foo 123", "Foo 456", "Bar 567")を比較する Comparer を実装する方法について。記事では CommonPrefixLength メソッドを使用した共通の先頭文字数を取得する方法を使用している。
Passing images to LLMs in C# with Microsoft.Extensions.AI
https://markheath.net/post/passing-image-content
Microsoft.Extensions.AI で LLM に画像を渡す方法について。
.NET9時代のiOS向けのNative Library Interop
https://zenn.dev/yamachu/articles/5ea515697a3bc1
.NET 9 での iOS 向けのネイティブコードのバインディングの実装方法について。
Adding a fully-bootstrapped Mono — 2024 — Blog — GNU Guix
https://guix.gnu.org/en/blog/2024/adding-a-fully-bootstrapped-mono/
GNU Guix (パッケージマネージャー) に完全にブートストラップ (fully-bootstrapped) された Mono を追加するまでの道のりについて。
.NET MAUI (Android) でWiFi強度の取得をしてみる
https://zenn.dev/aynv/articles/126642179ec18c
.NET MAUI (.NET for Android) で Wi-Fi の電波強度を取得する方法について。
ASP.NET CoreでホットリロードするDocker開発環境を構築する方法 - Qiita
https://qiita.com/fortia/items/d347f575d386f6b9fcb9
Docker イメージから起動した ASP.NET Core アプリケーションでホットリロードする方法について。
AngleSharp で ASP.NET Core ウェブアプリケーションの統合テストをする
https://zenn.dev/masakura/articles/6a6971f7102205
AngleSharp を使用して ASP.NET Core アプリケーションの統合テストをする方法について。
【C#】Timers.TimerのStopでイベントが発火してしまう理由と対策 - Qiita
https://qiita.com/takeo-index/items/5d43e53db22532223f87
System.Timers.Timer を Stop して後でもイベントが呼び出されることがあることについて。
Dock the Code Search window in Visual Studio 2022 - Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/dock-the-code-search-window-in-visual-studio-2022/
Visual Studio 2022 で利用できるようになったコード検索ウィンドウのドッキング機能についての紹介。
Go to line anywhere with Code Search for Visual Studio 2022 - Visual Studio Blog
コード検索から行数を指定して移動ができる機能についての紹介。
ASP.NET Core で実現する「マルチテナント+監査情報」設計ガイド
https://zenn.dev/shink00001/articles/acae9cccf5933c
ASP.NET Core でマルチテナント環境と監査情報を記録するような設計についてのガイド。
Build and Test .NET Runtime repository locally — Part 2— Debugging with Visual Studio
.NET ランタイムのリポジトリーをローカルでビルドしてテスト、Visual Studio でデバッグする方法について。
【解決済み】【AngleSharp】.NET 9でCookieのexpiresがGMTではなくlocaltimeで解釈されてしまう - Qiita
https://qiita.com/noobow/items/2764c96d34a869b4c9da
AngleSharp を .NET 9 で使用した場合に Cookie の Expires が UTC ではなくローカルタイムとして解釈される問題について。
- Cookie expiration uses local time instead of UTC · Issue #95603 · dotnet/runtime
- ChatGPTとDeepLを使って初めてOSSへContributeしたら想像以上にうまくいった話 - Qiita
【C#】VSCode のデバッグモードでスパンのデバッグビューを表示する - Qiita
https://qiita.com/abetakahiro123/items/2b2077b839ad861433f1
Visual Studio Code でデバッグ中に Span を内容をデバッグビューで表示できない問題について。
TestContainers in .NET with PostgreSQL and PgVector
https://dev.to/chsami/testcontainers-in-net-with-postgresql-and-pgvector-4m93
PgVector と PostgreSQL を Testcontainers で使用する方法について。
Linux process priorities for C# devs
https://medium.com/@ocoanet/linux-process-priorities-for-c-devs-9ed9d9cc4ba1
Linux のプロセスの優先度について。.NET での実装の解説。
Rider 2025.1 Roadmap | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2025/01/08/rider-2025-1-roadmap/
Rider 2025.1 のロードマップ。パフォーマンスプロファイリングの簡略化、混合デバッグ、Windows でのリモート開発、SQL プロジェクトのサポート、Roslyn サポートの強化など。
.NET Aspire Quick Tip - Managing Container & Data Lifetime - .NET Blog
https://devblogs.microsoft.com/dotnet/dotnet-aspire-container-lifetime/
.NET Aspire でのコンテナーとデータのライフタイム管理についての Tips。
Benchmarking with Visual Studio Profiler - Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/benchmarking-with-visual-studio-profiler/
Visual Studio 17.13 Preview で更新された BenchmarkDotNet のベンチマーク診断データの処理エンジンにより、効率的に CPU の使用やアロケーションの計測といったことが簡単に行えるようになったことの紹介。
【C#】Unsafe.BitCast のすゝめ。 - ねののお庭。
https://blog.neno.dev/entry/2025/01/07/182438
同サイズの値型の強制キャストを Unsafe.As よりも安全に使用できる Unsafe.BitCast について。
.NET アップグレード アシスタントでCentral Package Managementに移行する - tech.guitarrapc.cóm
https://tech.guitarrapc.com/entry/2025/01/05/235909
.NET Upgrade Assistant を使用して Central Package Management に移行する手順の紹介。
UTF8 か Utf8 か
https://ufcpp.net/blog/2025/1/pascalcase/
.NET のフレームワークにおける型や名前空間のパスカルケースとその例外ルールについて。
field キーワード
https://ufcpp.net/blog/2025/1/field-keyword/
C# 14 で利用できるようになるプロパティーの field キーワードについて。
RS-WFWATTCH2を使ってPCの消費電力(実測値)をモニタリングしてみよう - Qiita
https://qiita.com/yamaokunousausa/items/2faedd6481093e73e2ca
RS-WFWATTCH2 (スマートプラグ) を使用して PC の消費電力をモニタリングするため、ネットワーク経由で値を読み取る仕組みを実装したことついて。
C#:オブジェクトプールとVersionパターン
https://zenn.dev/ruccho/articles/e9876dadeca78a
ValueTask のようなオブジェクトプールを使用/実装する際に Version を持たせることで、誤った使用を検出するパターンについて。
ライブラリ、リポジトリ、ツールなど
usausa/hardwareinfo-disk: Disk information library supports NVMe, SATA, USB(SAT12 only).
https://github.com/usausa/hardwareinfo-disk
Windows で S.M.A.R.T 情報を取得するライブラリー。
kevingosse/ClipPing: Displays a visual notification in the active window when the clipboard is updated.
https://github.com/kevingosse/ClipPing
クリップボードが更新された際にアクティブウィンドウを光らせて通知するツール。
Since many people are asking for it, I published a first (early) version: https://t.co/WY4Mtahwdn
— Kevin Gosse (@KooKiz) December 28, 2024
Keep in mind that it's really barebone, and there is no "launch at startup" feature yet.
In the coming days I'm going to look at how to integrate it into the Powertoys. https://t.co/NQGjk39zeN