diff --git a/input/2025/2025-06-11.md b/input/2025/2025-06-11.md new file mode 100644 index 0000000..5710d50 --- /dev/null +++ b/input/2025/2025-06-11.md @@ -0,0 +1,264 @@ +--- +Title: "2025-06-11: .NET 8.0.17 & 9.0.6, .NET 10 Preview 5" +Published: 2025/06/11 00:00 +DestinationPath: 2025/06/11/updates.html +--- + + +## トピックス +### .NET and .NET Framework June 2025 servicing releases updates - .NET Blog +https://devblogs.microsoft.com/dotnet/dotnet-and-dotnet-framework-june-2025-servicing-updates/ + +.NET と .NET Framework の2025年6月のサービスリリースについて。 + +このリリースでは .NET 8 と 9 のセキュリティー更新が含まれ、.NET Framework に関する更新は今回はない。 + +- [CVE-2025-30399](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-30399): リモートでコードを実行可能な脆弱性 (深刻度: 重要) + - [Microsoft Security Advisory CVE-2025-30399: .NET Remote Code Vulnerability · Issue #362 · dotnet/announcements](https://github.com/dotnet/announcements/issues/362) + +### .NET 10 Preview 5 is now available! - .NET Blog +https://devblogs.microsoft.com/dotnet/dotnet-10-preview-5/ + +.NET 10 Preview 5 がリリースされた。 + +- ライブラリー + - Post-Quantum Cryptography (PQC) +- ランタイム + - デリゲートの脱出解析 + - インライン化の改善 + - ARM64 ライトバリアーの改善 +- C# + - ユーザー定義の複合代入オペレーター +- F# + - Scoped #nowarn/#warnon + - FSharp.Core 標準ライブラリーと FSharp.Compiler.Service のアップデート +- ASP.NET Core & Blazor + - HTTP.sys リクエストキューのカスタムセキュリティーディスクリプター + - 検証リゾルバー API の Experimental 化 + - OpenAPI 3.1 のサポート + - XML ドキュメントコメントからの OpenAPI メタデータの生成 + - Blazor Router を使用した Not Found ページの追加 + - Blazor メトリクスとトレース +- .NET MAUI + - XAML グローバル名前空間 + - XAML 暗黙的名前空間 + - Web リクエストのインターセプト +- WPF + - XAML Grid 構文の強化 + - フォントと国際化のアップデート + - Fluent テーマの改善 +- Entity Framework Core + - カスタムデフォルト制約名 + +### Next edit suggestions available in Visual Studio GitHub Copilot - Visual Studio Blog +https://devblogs.microsoft.com/visualstudio/next-edit-suggestions-available-in-visual-studio-github-copilot/ + +Visual Studio 2022 17.14 でサポートされた GitHub Copilot の Next Edit Suggestion 機能の紹介。 + +ブログでは Next Edit Suggestion が Visual Studio 上でどのように機能するのか、機能の有効化の設定方法について説明している。 + +### Emit logs on-demand with log buffering - .NET Blog +https://devblogs.microsoft.com/dotnet/emit-logs-on-demand-with-log-buffering/ + +.NET 9 のログバッファリング/サンプリングについての紹介。 + +記事ではグローバルとリクエストごとのバッファリングの2種類の戦略についてそれぞれ構成方法を紹介しているほか、推奨構成や制限事項、考慮事項などについても触れている。 + +- [ログ バッファリング - .NET](https://learn.microsoft.com/ja-jp/dotnet/core/extensions/log-buffering?tabs=dotnet-cli) + +### Catch Up on Microsoft Build 2025: Essential Sessions for .NET Developers - .NET Blog +https://devblogs.microsoft.com/dotnet/catching-up-on-microsoft-build-2025-essential-sessions-for-dotnet-developers/ + +Microsoft Build 2025 の .NET 開発者向けセッションのまとめ。.NET に関連したセッションの動画をまとめて紹介している。 + +### Dev Proxy v0.28 with LLM usage and costs tracking +https://devblogs.microsoft.com/microsoft365dev/dev-proxy-v0-28-with-llm-usage-and-costs-tracking/ + +Dev Proxy v0.28 がリリースされた。 + +このリリースでは OpenAITelemetryPlugin を使用して LLM の使用とコストの追跡が可能になったほか、Foundry Local との連携、.NET Aspire との統合プレビューなどが含まれている。 + +### 「CubePDF」の提供を続けたくて。倒産寸前のフリーソフト会社を、開発者自ら再建させるまで【フォーカス】 レバテックラボ(レバテックLAB) +https://levtech.jp/media/article/focus/detail_680/ + +オープンソースの PDF 変換ツールである CubePDF の開発者でキューブ・ソフト社の代表である津川さんへのインタビュー記事。(CubePDF は .NET アプリケーション) + +- [キューブ・ソフトは GitHub Sponsors 等によるスポンサー活動を開始しました - Cube Lilac](https://clown.cube-soft.jp/entry/2021/09/08/github-sponsors#%E7%AC%AC1%E6%9C%9F-2021-09-08) + - キューブ・ソフトさんには GitHub Sponsors で支援していただいています。ありがとうございます! + +## リリース +- [App-vNext/Polly](https://github.com/App-vNext/Polly) + - [8.6.0](https://github.com/App-vNext/Polly/releases/tag/8.6.0) +- [AvaloniaUI/Avalonia](https://github.com/AvaloniaUI/Avalonia) + - [11.3.1](https://github.com/AvaloniaUI/Avalonia/releases/tag/11.3.1) +- [aws/aws-sdk-net](https://github.com/aws/aws-sdk-net) + - [3.7.1057.0](https://github.com/aws/aws-sdk-net/releases/tag/3.7.1057.0), [3.7.1058.0](https://github.com/aws/aws-sdk-net/releases/tag/3.7.1058.0), [3.7.1059.0](https://github.com/aws/aws-sdk-net/releases/tag/3.7.1059.0), [3.7.1060.0](https://github.com/aws/aws-sdk-net/releases/tag/3.7.1060.0), [3.7.1061.0](https://github.com/aws/aws-sdk-net/releases/tag/3.7.1061.0), [3.7.1061.1](https://github.com/aws/aws-sdk-net/releases/tag/3.7.1061.1), [4.0.25.0](https://github.com/aws/aws-sdk-net/releases/tag/4.0.25.0), [4.0.26.0](https://github.com/aws/aws-sdk-net/releases/tag/4.0.26.0), [4.0.27.0](https://github.com/aws/aws-sdk-net/releases/tag/4.0.27.0), [4.0.28.0](https://github.com/aws/aws-sdk-net/releases/tag/4.0.28.0), [4.0.29.0](https://github.com/aws/aws-sdk-net/releases/tag/4.0.29.0), [4.0.29.1](https://github.com/aws/aws-sdk-net/releases/tag/4.0.29.1) +- [Azure/azure-sdk-for-net](https://github.com/Azure/azure-sdk-for-net) + - [Azure.Communication.CallAutomation_1.4.0](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.Communication.CallAutomation_1.4.0), [Azure.Communication.Common_1.4.0](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.Communication.Common_1.4.0), [Azure.Core_1.46.2](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.Core_1.46.2), [Azure.DigitalTwins.Core_1.6.0](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.DigitalTwins.Core_1.6.0), [Azure.Provisioning_1.0.1](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.Provisioning_1.0.1), [Azure.ResourceManager.ApiCenter_1.0.0](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.ResourceManager.ApiCenter_1.0.0), [Azure.ResourceManager.Resources_1.10.0](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.ResourceManager.Resources_1.10.0), [Azure.Storage.Blobs_12.24.1](https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.Storage.Blobs_12.24.1), [System.ClientModel_1.4.2](https://github.com/Azure/azure-sdk-for-net/releases/tag/System.ClientModel_1.4.2) +- [CommunityToolkit/Maui](https://github.com/CommunityToolkit/Maui) + - [12.0.0](https://github.com/CommunityToolkit/Maui/releases/tag/12.0.0), [3.0.0-camera](https://github.com/CommunityToolkit/Maui/releases/tag/3.0.0-camera), [6.1.0-mediaelement](https://github.com/CommunityToolkit/Maui/releases/tag/6.1.0-mediaelement) +- [domaindrivendev/Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) + - [v8.1.3](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v8.1.3), [v8.1.4](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v8.1.4) +- [dotnet/aspire](https://github.com/dotnet/aspire) + - [v9.3.1](https://github.com/dotnet/aspire/releases/tag/v9.3.1) +- [googleapis/google-cloud-dotnet](https://github.com/googleapis/google-cloud-dotnet) + - [Google.Cloud.Dataproc.V1-5.18.0](https://github.com/googleapis/google-cloud-dotnet/releases/tag/Google.Cloud.Dataproc.V1-5.18.0), [Google.Cloud.DiscoveryEngine.V1-1.8.0](https://github.com/googleapis/google-cloud-dotnet/releases/tag/Google.Cloud.DiscoveryEngine.V1-1.8.0), [Google.Cloud.SecretManager.V1-2.6.0](https://github.com/googleapis/google-cloud-dotnet/releases/tag/Google.Cloud.SecretManager.V1-2.6.0) +- [microsoft/WindowsAppSDK](https://github.com/microsoft/WindowsAppSDK) + - [v1.6.9](https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.6.9), [v1.7.3](https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.7.3) +- [StackExchange/StackExchange.Redis](https://github.com/StackExchange/StackExchange.Redis) + - [2.8.41](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.8.41) + +## アーティクル、スライドなど +### .NET 8のプロセス間通信にgRPCのパイプ通信を使う場合に、パイプへのユーザーアクセス許可(ACL)を与える方法 +https://qiita.com/spc_ksudoh/items/45c2efbb4556a2cdb198 + +ASP.NET Core Kestrel で gRPC を名前付きパイプで通信する際のアクセス許可を設定する方法について。 + +### Creating your first sample game with MonoGame +https://andrewlock.net/creating-your-first-sample-game-with-monogame/ + +MonoGame を使用してサンプルゲームを作成してみるという話。記事では MonoGame のバックグランド、始めかた、テンプレートの解説などが行われている。 + +### Converting a Microsoft XNA 3.1 game to MonoGame +https://andrewlock.net/converting-an-xna-game-to-monogame/ + +15年前に作成した XNA Framework 3.1 のゲームを MonoGame に移行してみたという話。 + +### EFCore10より前でEFCoreのSplitQueryを利用する場合、子供側の並び順を明示的に指定するのを忘れずに +https://qiita.com/karuakun/items/30bb9e744fe1a743f341 + +Entity Framework Core 10 で AsSplitQuery を使用して分割クエリーを実行した際の並び順が維持されるようになったことと、以前のバージョンで実行されるクエリーとの違いについて。 + +### C# - Qiita API v2 でページビューの一覧取得 +https://qiita.com/chai0917/items/8ca54c940c6469152ec8 + +Qiita API v2 を使用してページビューを取得する方法について。 + +### NATS Cluster Architectures: Multiregional Clusters — Connecting the Globe +https://concurrentflows.com/nats-cluster-architectures-multiregional-clusters + +NATS クラスターのマルチリージョンアーキテクチャについての解説。 + +### Semantic Kernelを使ってC#でAI (6) +https://zenn.dev/yakumo3/articles/cbe9f8a5dba793 + +Semantic Kernel を使用してインメモリーベクターストアで RAG を実現する方法について。 + +### あすけんのデータを集計しグラフ化する +https://qiita.com/Shaula/items/11e1c1722aeb77bee4ca + +あすけんのデータを Google のヘルスコネクト経由で取得し、集計する方法について。 + +### Postgres Full Text Search with EF Core 9 - Egor Tarasov - Medium +https://medium.com/@vosarat1995/postgres-full-text-search-with-ef-core-9-40da6805033e + +Entity Framework Core 9 と PostgreSQL の tsvector を使用して全文検索を実装する方法について。 + +### SQL and NoSQL Query langauge support come to ReSharper! | The .NET Tools Blog +https://blog.jetbrains.com/dotnet/2025/06/10/sql-and-nosql-query-langauge-support-come-to-resharper/ + +ReSharper に実装される SQL と NoSQL のクエリ言語サポートについて。ライブテンプレートやコード補完、コードのインスペクションなどの機能が ReSharper を通して Visual Studio に提供される。 + +### Adding Runtime NuGet Package Loading to an Application +https://weblog.west-wind.com/posts/2025/Jun/09/Adding-Runtime-NuGet-Package-Loading-to-an-Application + +アプリケーションにランタイム NuGet パッケージを読み込む機能を追加する方法について。 + +記事では自作のライブリロード可能な Web サーバーで NuGet クライアント SDK を使用してアセンブリを読み込む実装を行っている。 + +### Dev Container × C# で始めるAI駆動Web API開発環境の構築 +https://qiita.com/Hitamuki/items/46a7e7c0a30337db5122 + +Dev Container を使用して C# の AI 駆動開発のための環境を構築する方法について。 + +### Storing Passwords Securely in .NET: A Beginner-Friendly Guide to Hashing and Salting +https://medium.com/@startfromlocalhost/storing-passwords-securely-in-net-a-beginner-friendly-guide-to-hashing-and-salting-992be9088129 + +パスワードのハッシュ化の実装方法について。PBKDF2 を使用した例を紹介している。 + +### PDFのメタデータの取得(C#) +https://zenn.dev/maedan/articles/fe3d9b619babd6 + +PDF ファイルからメタデータを取得する方法について。記事では iText7, Aspose.PDF, PdfSharpCore の3つのライブラリを使用した例を紹介している。 + +### Durable Task Scheduler を .NET Aspire で起動する +https://zenn.dev/microsoft/articles/durable-task-scheduler-aspire + +.NET Aspire で開発時に Durable Task Scheduler (エミュレーター) を起動する方法について。 + +### CloudWatch LogsがUnicodeエスケープ地獄になっていたのでLambda Test Toolとかで解決を模索してみた +https://qiita.com/tokunagaoun/items/014fbd80da13a0f079d7 + +CloudWatch Logs に出力される JSON 内の文字列が Unicode エスケープされる問題について。 + +### Red-Green Trees: an Overview - Bayastan - Medium +https://medium.com/@krendelia2021/red-green-trees-an-overview-17bae2d84e8c + +Roslyn で用いられている Red-Black Tree の概要について。 + +### NativeAOTでSusieプラグイン(32bit)を作成する +https://zenn.dev/radian_jp/articles/0f1a8cf3b04416 + +NativeAOT を使用して Susie プラグインを作成する方法について。記事では Magick.NET を使用して画像を読み込むプラグインの実装例を紹介している。 + +### WPF で Generic Host を使ってるみ v2 +https://zenn.dev/microsoft/articles/wpf-hosting-aspire + +WPF アプリケーションで Generic Host を使用する方法についてと .NET Aspire への組み込みについて。 + +### Cloud Academy: Unlock Your Azure Skills and Accelerate Your Career - Visual Studio Blog +https://devblogs.microsoft.com/visualstudio/cloud-academy-benefit-for-visual-studio-subscribers/ + +Visual Studio サブスクライバー向けの Cloud Academy 特典の紹介。 + +### Using AI Foundry with .NET MAUI - .NET Blog +https://devblogs.microsoft.com/dotnet/using-ai-foundry-with-dotnet-maui/ + +.NET MAUI と Azure AI Foundry を使用して AI アプリケーションを開発する方法について。 + +### dotInsights | June 2025 | The .NET Tools Blog +https://blog.jetbrains.com/dotnet/2025/06/03/dotinsights-june-2025/ + +JetBrains による .NET 関連情報のまとめ2025年6月号。 + +### WinUI3 カスタムタイトルバーで、最大化、最小化、閉じるボタンを非表示にする - Qiita +https://qiita.com/calcMCalcm/items/cbbc82d5f9ab7e1ae4ff + +WinUI 3 のカスタムタイトルバーで、最大化、最小化、閉じるボタンを非表示にする方法について。 + +### 普通と違う感じの Semantic Kernel 入門 009「Microsoft.Extensions.AI との統合」 +https://zenn.dev/microsoft/articles/semantickernel-edu-009 + +Semantic Kernel と Microsoft.Extensions.AI の統合について。記事では Semantic Kernel での Microsoft.Extensions.AI の位置づけやどのように使われているのかを解説している。 + +## ライブラリ、リポジトリ、ツールなど + +### Webreaper/CentralisedPackageConverter: Converts a project to use Centralised Package Management +https://github.com/Webreaper/CentralisedPackageConverter + +プロジェクトを Central Package Management を使用するように変換するツール。 + +- [Upgrade Projects Easily with CentralisedPackageConverter!](https://dev.to/thangchung/upgrade-projects-easily-with-centralisedpackageconverter-mlo) + + +### lofcz/MimeTypeCore: All the MIME/file extension pairs you will ever need. Comes with optional, magic bytes-based collision resolution. +https://github.com/lofcz/MimeTypeCore + +ファイル名やファイルのマジックバイトから MIME タイプを取得するライブラリー。 + +## Deep Dive +### Re-revert "Make mutable generic collection interfaces implement read-only collection interfaces (#95830)" by Sergio0694 · Pull Request #115802 · dotnet/runtime +https://github.com/dotnet/runtime/pull/115802 + +変更可能なジェネリックなコレクションに ReadOnly コレクションインターフェースを実装する変更の revert の revert PR。(つまり有効化される) + +MSVC チームとの連携で C++/CLI 側の修正が行われ、.NET 10 で問題が起こらない形にできるとのこと。 \ No newline at end of file