|
| 1 | +--- |
| 2 | +Title: "2026-03-26: Ten Months with Copilot Coding Agent in dotnet/runtime, Sunsetting the TechEmpower Framework Benchmarks, PowerShell 7.6, Microsoft.Data.SqlClient 7.0" |
| 3 | +Published: 2026/03/26 00:00 |
| 4 | +DestinationPath: 2026/03/26/updates.html |
| 5 | +--- |
| 6 | +<!-- |
| 7 | +# yyyy-MM-dd |
| 8 | +## 主なトピックス |
| 9 | +## ヘッドライン |
| 10 | +## アーティクル、スライドなど |
| 11 | +## ライブラリ、リポジトリ、ツールなど |
| 12 | +## サイト、ドキュメントなど |
| 13 | +### ツイート |
| 14 | +## Deep Dive |
| 15 | +--> |
| 16 | + |
| 17 | +## トピックス |
| 18 | +### Ten Months with Copilot Coding Agent in dotnet/runtime - .NET Blog |
| 19 | +https://devblogs.microsoft.com/dotnet/ten-months-with-cca-in-dotnet-runtime/ |
| 20 | + |
| 21 | +dotnet/runtime リポジトリでの GitHub Copilot Coding Agent を10か月使用した結果の振り返りについて。 |
| 22 | + |
| 23 | +記事では PR の作成とクローズ、マージの数や割合、他のリポジトリとの比較、具体的な PR の例 (マージできた例やマージしなかった例)、どのようなタスクがこなしやすく、逆にランタイムの C++ のようなネイティブコードでは難しいといったことなどが紹介されている。 |
| 24 | + |
| 25 | +### Sunsetting the TechEmpower Framework Benchmarks: · Issue #10932 · TechEmpower/FrameworkBenchmarks |
| 26 | +https://github.com/TechEmpower/FrameworkBenchmarks/issues/10932 |
| 27 | + |
| 28 | +様々な言語やフレームワークでベンチマークを公開していた TechEmpower Framework が終了となるアナウンス。 |
| 29 | + |
| 30 | +### Announcing PowerShell 7.6 (LTS) GA Release - PowerShell Team |
| 31 | +https://devblogs.microsoft.com/powershell/announcing-powershell-7-6/ |
| 32 | + |
| 33 | +PowerShell 7.6 (LTS) が一般利用可能 (General Availability)となった。 |
| 34 | + |
| 35 | +このリリースでは .NET 10 (LTS) がベースとなり、モジュールのアップデートやエンジンの信頼性の向上、タブ補完の向上、ネイティブコマンドのハンドリングの改善といった様々な改善が含まれている。 |
| 36 | + |
| 37 | +### Microsoft.Data.SqlClient 7.0 Is Here: A Leaner, More Modular Driver for SQL Server | Microsoft Community Hub |
| 38 | +https://techcommunity.microsoft.com/blog/sqlserver/microsoft-data-sqlclient-7-0-is-here-a-leaner-more-modular-driver-for-sql-server/4503173 |
| 39 | + |
| 40 | +Microsoft.Data.SqlClient 7.0 がリリースされた。 |
| 41 | + |
| 42 | +このリリースではドライバーのモジュール化により Azure/Entra 認証に関するコードが分離されたことで軽量化され、認証のプラグイン、パケットの多重化による非同期読み取り性能向上(プレビュー)、Azure SQL の強化されたルーティングサポート、.NET 10 のサポート、QoL の向上に関連する改善などが含まれている。 |
| 43 | + |
| 44 | +- [Release Stable Release v7.0.0 · dotnet/SqlClient](https://github.com/dotnet/SqlClient/releases/tag/v7.0.0) |
| 45 | + |
| 46 | +### Rider 2026.1 Release Candidate Is Out! | The .NET Tools Blog |
| 47 | +https://blog.jetbrains.com/dotnet/2026/03/20/rider-2026-1-release-candidate/ |
| 48 | + |
| 49 | +Rider 2026.1 Release Candidate がリリースされた。 |
| 50 | + |
| 51 | +このリリースではファイルベースアプリ(`dotnet run app.cs`)のサポート、逆アセンブルビューアー、NuGet パッケージマネージャーコンソール(プレビュー)の追加、MAUI サポートの改善、Unity プロファイラーとの連携の向上、Windows 上でのゲーム向け混在モードデバッグサポート、C# の拡張メンバーのサポート向上や C# 15の早期サポートといった新機能が含まれている。 |
| 52 | + |
| 53 | +### ReSharper 2026.1 Release Candidate Released! | The .NET Tools Blog |
| 54 | +https://blog.jetbrains.com/dotnet/2026/03/20/resharper-2026-1-release-candidate/ |
| 55 | + |
| 56 | +ReSharper 2026.1 Release Candidate がリリースされた。 |
| 57 | + |
| 58 | +このリリースでは新しい実行時パフォーマンスモニターウィンドウの導入、Visual Studio Code 互換エディターでの利用サポート、最新の C# サポートの向上、コード解析とインデックス作成の高速化、Out-of-Process モードの安定性向上、エディター UI の更新、ReSharper C++ の改善などが含まれている。 |
| 59 | + |
| 60 | +### The Avalonia WebView Is Going Open-Source - Avalonia UI |
| 61 | +https://avaloniaui.net/blog/the-avalonia-webview-is-going-open-source |
| 62 | + |
| 63 | +Avalonia の Accelerate のコントロール(=商用)であった WebView が Avalonia 12 の一部としてオープンソース化となるアナウンス。 |
| 64 | + |
| 65 | +WebView コントロールは OS ネイティブな Web レンダラーを使用することでアプリケーションをコンパクトに保てるというメリットがあり、現代のアプリケーションは OAuth フローやドキュメント表示といった部分で必須となるコンポーネントであるためオープンソースにすることになったとのこと。 |
| 66 | + |
| 67 | + |
| 68 | + |
| 69 | +## リリース |
| 70 | +- [aws/aws-sdk-net](https://github.com/aws/aws-sdk-net) |
| 71 | + - [3.7.1244.0](https://github.com/aws/aws-sdk-net/releases/tag/3.7.1244.0), [3.7.1245.0](https://github.com/aws/aws-sdk-net/releases/tag/3.7.1245.0), [3.7.1246.0](https://github.com/aws/aws-sdk-net/releases/tag/3.7.1246.0), [3.7.1247.0](https://github.com/aws/aws-sdk-net/releases/tag/3.7.1247.0), [3.7.1248.0](https://github.com/aws/aws-sdk-net/releases/tag/3.7.1248.0), [3.7.1249.0](https://github.com/aws/aws-sdk-net/releases/tag/3.7.1249.0), [3.7.1250.0](https://github.com/aws/aws-sdk-net/releases/tag/3.7.1250.0), [4.0.212.0](https://github.com/aws/aws-sdk-net/releases/tag/4.0.212.0), [4.0.213.0](https://github.com/aws/aws-sdk-net/releases/tag/4.0.213.0), [4.0.214.0](https://github.com/aws/aws-sdk-net/releases/tag/4.0.214.0), [4.0.215.0](https://github.com/aws/aws-sdk-net/releases/tag/4.0.215.0), [4.0.216.0](https://github.com/aws/aws-sdk-net/releases/tag/4.0.216.0), [4.0.217.0](https://github.com/aws/aws-sdk-net/releases/tag/4.0.217.0), [4.0.218.0](https://github.com/aws/aws-sdk-net/releases/tag/4.0.218.0) |
| 72 | +- [Azure/azure-cosmos-dotnet-v3](https://github.com/Azure/azure-cosmos-dotnet-v3) |
| 73 | + - [3.58.0](https://github.com/Azure/azure-cosmos-dotnet-v3/releases/tag/3.58.0) |
| 74 | +- [Azure/azure-sdk-for-net](https://github.com/Azure/azure-sdk-for-net) |
| 75 | + - [Azure.Core_1.52.0](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.Core_1.52.0), [Azure.Provisioning.PrivateDns_1.0.0](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.Provisioning.PrivateDns_1.0.0), [Azure.ResourceManager.DataProtectionBackup_1.7.1](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.ResourceManager.DataProtectionBackup_1.7.1), [Azure.ResourceManager.DevTestLabs_1.1.2](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.ResourceManager.DevTestLabs_1.1.2), [Azure.ResourceManager.Nginx_1.1.0](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.ResourceManager.Nginx_1.1.0), [Azure.ResourceManager.RecoveryServices_1.2.0](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.ResourceManager.RecoveryServices_1.2.0), [Azure.ResourceManager.RecoveryServicesBackup_1.3.1](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.ResourceManager.RecoveryServicesBackup_1.3.1), [Microsoft.Azure.WebJobs.Extensions.Storage_5.3.8](https://github.com/Azure/azure-sdk-for-net/releases/tag/Microsoft.Azure.WebJobs.Extensions.Storage_5.3.8), [Microsoft.Azure.WebJobs.Extensions.Storage.Blobs_5.3.8](https://github.com/Azure/azure-sdk-for-net/releases/tag/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs_5.3.8), [Microsoft.Azure.WebJobs.Extensions.Storage.Queues_5.3.8](https://github.com/Azure/azure-sdk-for-net/releases/tag/Microsoft.Azure.WebJobs.Extensions.Storage.Queues_5.3.8), [System.ClientModel_1.10.0](https://github.com/Azure/azure-sdk-for-net/releases/tag/System.ClientModel_1.10.0) |
| 76 | +- [CommunityToolkit/dotnet](https://github.com/CommunityToolkit/dotnet) |
| 77 | + - [v8.4.1](https://github.com/CommunityToolkit/dotnet/releases/tag/v8.4.1), [v8.4.2](https://github.com/CommunityToolkit/dotnet/releases/tag/v8.4.2) |
| 78 | +- [DataDog/dd-trace-dotnet](https://github.com/DataDog/dd-trace-dotnet) |
| 79 | + - [v3.40.0](https://github.com/DataDog/dd-trace-dotnet/releases/tag/v3.40.0) |
| 80 | +- [domaindrivendev/Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) |
| 81 | + - [v10.1.6](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v10.1.6), [v10.1.7](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v10.1.7) |
| 82 | +- [dotnet/SqlClient](https://github.com/dotnet/SqlClient) |
| 83 | + - [v7.0.0](https://github.com/dotnet/SqlClient/releases/tag/v7.0.0) |
| 84 | +- [microsoft/aspire](https://github.com/microsoft/aspire) |
| 85 | + - [v13.1.3](https://github.com/microsoft/aspire/releases/tag/v13.1.3), [v13.2.0](https://github.com/microsoft/aspire/releases/tag/v13.2.0) |
| 86 | +- [microsoft/WindowsAppSDK](https://github.com/microsoft/WindowsAppSDK) |
| 87 | + - [v1.8.6](https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.8.6) |
| 88 | +- [newrelic/newrelic-dotnet-agent](https://github.com/newrelic/newrelic-dotnet-agent) |
| 89 | + - [v10.50.0](https://github.com/newrelic/newrelic-dotnet-agent/releases/tag/v10.50.0) |
| 90 | +- [StackExchange/StackExchange.Redis](https://github.com/StackExchange/StackExchange.Redis) |
| 91 | + - [2.12.4](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.12.4), [2.12.8](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.12.8) |
| 92 | + |
| 93 | +## アーティクル、スライドなど |
| 94 | +### NDLOCR-LiteのONNXモデルを使って.NETで画像からテキストの読み取りを行なう - Qiita |
| 95 | +https://qiita.com/yamaokunousausa/items/262d6717d4ffdfd63b90 |
| 96 | + |
| 97 | +国立国会図書館(NDL) が提供している OCR アプリケーション NDLOCR-Lite の ONNX モデルを .NET で使用してテキストの読み取りを行う方法について。 |
| 98 | + |
| 99 | +### インターフェース未実装クラスを強引にインターフェースに詰めてみる |
| 100 | +https://zenn.dev/radian_jp/articles/275d43cb7c9142 |
| 101 | + |
| 102 | +インターフェースを実装していないクラスをインターフェースを実装しているかのように動的にラップする方法について。 |
| 103 | + |
| 104 | +### Unlock More Power in Your Development Workflow: Syncfusion for Visual Studio Subscribers - Visual Studio Blog |
| 105 | +https://devblogs.microsoft.com/visualstudio/syncfusion-for-visual-studio/ |
| 106 | + |
| 107 | +Visual Studio サブスクリプション(Dev Essentials, Professional, Enterprise)で利用できる Syncfusion の特典についての紹介。 |
| 108 | + |
| 109 | +### 【Visual Studio】ビルド時に単体テストを自動実行する方法 - Qiita |
| 110 | +https://qiita.com/KM_20005/items/b858c8e501c3a9a32dd0 |
| 111 | + |
| 112 | +Visual Studio でビルド時に単体テストを自動実行する方法について。テスト失敗時に音を鳴らす設定についても触れている。 |
| 113 | + |
| 114 | +### Generative AI for Beginners .NET: Version 2 on .NET 10 - .NET Blog |
| 115 | +https://devblogs.microsoft.com/dotnet/generative-ai-for-beginners-dotnet-version-2-on-dotnet-10/ |
| 116 | + |
| 117 | +.NET アプリケーション向けの生成 AI 実装について学ぶことのできるコース 「Generative AI for Beginners .NET」のバージョン 2 がリリースされた。 |
| 118 | + |
| 119 | +バージョン 2ではカリキュラムの全面的な再構築が行われ、.NET 10 と Microsoft.Extensions.AI をベースとしたコードに更新された。 |
| 120 | + |
| 121 | +### Windows Community Toolkit - How Microsoft uses Uno Platform to Ship Fast |
| 122 | +https://platform.uno/blog/windows-community-toolkit-how-microsoft-uses-uno-platform-to-ship-fast/ |
| 123 | + |
| 124 | +Windows Community Toolkit を ToolKit Lab を通し Uno Platform を活用して如何に内部開発ループを高速化させることができているかについて。 |
| 125 | + |
| 126 | +### Azure Trusted Signing Revisited with Dotnet Sign |
| 127 | +https://weblog.west-wind.com/posts/2026/Mar/02/Azure-Trusted-Signing-Revisited-with-Dotnet-Sign |
| 128 | + |
| 129 | +`dotnet sign` コマンドと Azure Trusted Signing を使用して署名を行う方法について。 |
| 130 | + |
| 131 | +### MacでLCDモニターにリソース使用状況を表示する ― .NETで - Qiita |
| 132 | +https://qiita.com/yamaokunousausa/items/e7132f7c08178e39853d |
| 133 | + |
| 134 | +macOS から USB HID デバイスとして扱える LCD モニターにリソースの使用状況を表示する実装について。 |
| 135 | + |
| 136 | +記事では LCD モニターの操作と macOS 上でのリソース使用状況の取得方法について解説している。 |
| 137 | + |
| 138 | +### [VS Code] ILSpy が起動に使う .NET 実行ファイルのパスが壊れた時の対処法 |
| 139 | +https://zenn.dev/st_little/articles/what-to-do-if-il-spy-crashes |
| 140 | + |
| 141 | +Visual Studio Code の拡張 ilspy-vscode で `dotnet` コマンドのパスが見つからなくなった時の対処方法について。 |
| 142 | + |
| 143 | +### FodyでCaller Info属性を実現してみる - Qiita |
| 144 | +https://qiita.com/fits/items/bf318cc398d8d03acc2b |
| 145 | + |
| 146 | +`CallerMemberName` 属性のような呼び出し元の情報を取得(埋め込み)を Fody で実現する方法について。 |
| 147 | + |
| 148 | +記事では `CallerType` という属性を定義して呼び出し元の型を取得する例を紹介している。 |
| 149 | + |
| 150 | +### Refactoring the heart of PowerToys from C++ to C# |
| 151 | +https://noraajunker.ch/PowerToys-refactor/ |
| 152 | + |
| 153 | +PowerToys の C++ で実装されたランナー(各機能を呼び出す処理)を C# で書き直していることについて。 |
| 154 | + |
| 155 | +### Accelerating .NET MAUI Development with AI Agents - .NET Blog |
| 156 | +https://devblogs.microsoft.com/dotnet/accelerating-dotnet-maui-with-ai-agents/ |
| 157 | + |
| 158 | +Syncfusion が .NET MAUI での開発を加速させるために使用している AI エージェントスキルの紹介。 |
| 159 | + |
| 160 | +### 【.NET】Tiered Compilationの最適化を覗いてみる |
| 161 | +https://zenn.dev/prozolic/articles/487b159739d831 |
| 162 | + |
| 163 | +.NET ランタイムの Tiered Compilation による最適化を生成されるアセンブリコードを確認しながら解説している記事。 |
| 164 | + |
| 165 | +### RT.Assistant: A Multi-Agent Voice Bot Using .NET and OpenAI - .NET Blog |
| 166 | +https://devblogs.microsoft.com/dotnet/rt-assistant-a-realtime-multiagent-voice-bot-using-dotnet-and-open-ai-api/ |
| 167 | + |
| 168 | +OpenAI Realtime API を使用して .NET でマルチエージェントの音声ボットを実装したことについて。 |
| 169 | + |
| 170 | +### 【C#】AspireCLI(ver13.1.2)でホットリロードをするように設定 - Qiita |
| 171 | +https://qiita.com/KM_20005/items/df26e7ddfb10b594be7d |
| 172 | + |
| 173 | +Aspire CLI でホットリロードを有効化するオプションが設定に変わったことについて。 |
| 174 | + |
| 175 | +### 産業用カメラ制御アプリが1か月後に突然落ちるとき(前編) - ハンドルリークの見つけ方と長期稼働向けログ設計 |
| 176 | +https://comcomponent.com/blog/2026/03/11/002-handle-leak-industrial-camera-long-run-crash-part1/ |
| 177 | + |
| 178 | +産業用カメラ制御アプリケーションが約1か月の連続稼働後にクラッシュしてしまう問題とその原因となったハンドルリークの調査について。 |
| 179 | + |
| 180 | +- [産業用カメラ制御アプリが1か月後に突然落ちるとき(後編) - Application Verifier とは何かと異常系テスト基盤の作り方](https://comcomponent.com/blog/2026/03/11/003-application-verifier-abnormal-test-foundation-part2/) |
| 181 | + |
| 182 | +### Writing a .NET Garbage Collector in C# - Part 9: Frozen segments and new allocation strategy |
| 183 | +https://minidump.net/writing-a-net-gc-in-c-part-9/ |
| 184 | + |
| 185 | +C# で .NET ガベージコレクタを実装するシリーズの第9回。凍結されたセグメント(GC対象外)と割り当ての戦略について。 |
| 186 | + |
| 187 | +## ライブラリ、リポジトリ、ツールなど |
| 188 | +### arika0093/lint4sg: A very strict linter for dotnet source-generator projects. |
| 189 | +https://github.com/arika0093/lint4sg |
| 190 | + |
| 191 | +特に LLM でのコード生成を主眼に置いた Source Generator プロジェクト向けの Roslyn アナライザー。 |
| 192 | + |
| 193 | +- [LLMに狙ったコードを書かせるためにLinterを自作してみたら体験が良かった](https://zenn.dev/arika/articles/20260321-dotnet-linter-for-llms) |
| 194 | + |
| 195 | +### cincuranet/NtpTick: A simple, lightweight NTP (Network Time Protocol) client library for .NET. |
| 196 | +https://github.com/cincuranet/NtpTick |
| 197 | + |
| 198 | +現代的な C# で記述されたシンプルな NTP クライアント実装。 |
| 199 | + |
| 200 | +- [Introducing NtpTick: A lightweight NTP client for .NET](https://www.tabsoverspaces.com/233966-introducing-ntptick-a-lightweight-ntp-client-for-dotnet) |
| 201 | + |
| 202 | + |
| 203 | +### ツイート |
| 204 | +<!-- https://x.com/mkristensen/status/2034671111624065035?s=12 --> |
| 205 | +<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Happy 29th birthday to Visual Studio! 🎉🎉<br><br>Just imagine the amount of amazing software written in VS over the years. Games, apps, websites, enterprise solutions, services, and so much more. <br><br>Hip hip hooray 🎉🎈</p>— Mads Kristensen (@mkristensen) <a href="https://twitter.com/mkristensen/status/2034671111624065035?ref_src=twsrc%5Etfw">March 19, 2026</a></blockquote> |
| 206 | +<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> |
| 207 | + |
| 208 | + |
| 209 | + |
| 210 | +<!-- https://x.com/davidfowl/status/2035077120163004652?s=12 --> |
| 211 | +<blockquote class="twitter-tweet"><p lang="en" dir="ltr">New home on GitHub!! <br><br>Microsoft Aspire 😍<a href="https://t.co/nLQ6cOntkH">https://t.co/nLQ6cOntkH</a><a href="https://twitter.com/hashtag/aspire?src=hash&ref_src=twsrc%5Etfw">#aspire</a> <a href="https://twitter.com/hashtag/typescript?src=hash&ref_src=twsrc%5Etfw">#typescript</a> <a href="https://twitter.com/hashtag/dotnet?src=hash&ref_src=twsrc%5Etfw">#dotnet</a> <a href="https://twitter.com/hashtag/python?src=hash&ref_src=twsrc%5Etfw">#python</a></p>— David Fowler (@davidfowl) <a href="https://twitter.com/davidfowl/status/2035077120163004652?ref_src=twsrc%5Etfw">March 20, 2026</a></blockquote> |
| 212 | +<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> |
| 213 | + |
| 214 | + |
| 215 | + |
| 216 | +<!-- https://x.com/xoofx/status/2034700139256840543 --> |
| 217 | +<blockquote class="twitter-tweet"><p lang="en" dir="ltr">A very old request (March 2015) to split the .NET gc.cpp into smaller files just got merged <a href="https://t.co/FS0wmpFSqu">https://t.co/FS0wmpFSqu</a> 🎉</p>— Alexandre Mutel (@xoofx) <a href="https://twitter.com/xoofx/status/2034700139256840543?ref_src=twsrc%5Etfw">March 19, 2026</a></blockquote> |
| 218 | +<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> |
0 commit comments