トピックス
.NET 9 Release Candidate 2 is now available! - .NET Blog
https://devblogs.microsoft.com/dotnet/dotnet-9-rc-2/
.NET 9 Release Candidate 2 がリリースされた。
このリリースでは正式リリースに向けたバグ修正を中心とした品質の向上が行われている。
.NET and .NET Framework October 2024 servicing releases updates - .NET Blog
https://devblogs.microsoft.com/dotnet/dotnet-and-dotnet-framework-october-2024-servicing-updates/
2024年10月の .NET および .NET Framework のアップデート。.NET 6.0.35, .8.0.10, .NET Framework がリリースされている。
このリリースではいくつかの不具合の修正や改善とセキュリティー修正が含まれている。
- CVE-2024-38229: リモートコード実行の脆弱性 (.NET 8, 9)
- Microsoft Security Advisory CVE-2024-38229 | .NET Remote Code Execution Vulnerability · Issue #326 · dotnet/announcements
- ASP.NET の HTTP/3 処理における Use-After-Free
- CVE-2024-43483: サービス拒否の脆弱性 (.NET 6, 8, 9, .NET Framework)
- Microsoft Security Advisory CVE-2024-43483 | .NET Denial of Service Vulnerability · Issue #327 · dotnet/announcements
- System.Security.Cryptography.Cose、System.IO.Packaging、System.Runtime.Caching のハッシュフラッディング
- CVE-2024-43484: サービス拒否の脆弱性 (.NET 6, 8, 9, .NET Framework)
- Microsoft Security Advisory CVE-2024-43484 | .NET Denial of Service Vulnerability · Issue #328 · dotnet/announcements
- System.IO.Packaging への信頼されない入力による複雑な処理でのサービス拒否
- CVE-2024-43485: サービス拒否の脆弱性 (.NET 6, 8, 9)
- Microsoft Security Advisory CVE-2024-43485 | .NET Denial of Service Vulnerability · Issue #329 · dotnet/announcements
- System.Text.Json の
[ExtensionData]
プロパティの信頼されない入力のデシリアライズによるサービス拒否
Introducing Microsoft.Extensions.AI Preview - Unified AI Building Blocks for .NET - .NET Blog
https://devblogs.microsoft.com/dotnet/introducing-microsoft-extensions-ai-preview/
Microsoft.Extensions.AI がプレビューリリースされた。
Microsoft.Extensions.AI は SLM/LLM、Embedding といった AI サービスの抽象化レイヤーとなるものとのこと。プレビューリリースでは OpenAI、Azure AI Inference、Ollama への参照実装が含まれる。記事ではライブラリーのインストールや使用方法についても解説している。
Engineering the Scalable Vector Extension in .NET - .NET Blog
https://devblogs.microsoft.com/dotnet/engineering-sve-in-dotnet/#4.-beyond-code-generation
.NET 9 で実験的に追加された Arm64 における SVE (Scalable Vector Extension) のサポートについて。
記事では API の紹介や実際のコード生成、API 実装時のテストについて、Native AOT でのサポート状況、制限事項といった点について解説している。
Release Windows App SDK 1.5.7 (1.5.241001000) · microsoft/WindowsAppSDK
https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.5.7
Windows App SDK 1.5.7 がリリースされた。
このリリースではいくつかの不具合の修正が含まれている。
アーティクル、スライドなど
Easier localization with the new resource (.resx) manager - Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/easier-localization-with-the-new-resource-resx-manager/
Visual Studio の新しくなったリソースエクスプローラーの紹介。
記事では複数のファイルの読み込みや検索とフィルタリング、翻訳のコメント、テキスト中のプレースホルダーのチェック、アクセシビリティーと設定といった点について解説している。
The Draco Blog - Happy second birthday Draco compiler!
https://draco-lang.org/blog/birthday02
独自の .NET 向けプログラミング言語 Draco のコンパイラーの開発2周年の振り返り。
Cancellation, Part 6: Linking
https://blog.stephencleary.com/2024/10/cancellation-6-linking.html
CreateLinkedTokenSource による複数の CancellationToken をリンクした CancellationTokenSource の作り方と使い方、落とし穴についての解説。
SIMD並列化ライブラリSmartVectorDotNet開発の知見まとめ(4) C#と.Netの最適化
https://zenn.dev/aka_nse/articles/e8a72ba241ac5b
SmartVectorDotNet ライブラリーを実装する上で利用された最適化手法についての解説。
記事ではジェネリクスの実行時最適化について解説している。
C#/.NET - nuget.org につながらない環境でもビルドできるようにする方法
https://zenn.dev/j_sakamoto/articles/97f183b180ebed
インターネットに接続されていないような nuget.org に到達できない環境で NuGet パッケージをインストールする方法について。
記事ではキャッシュからのインストールやローカルパッケージソースを使用した方法などについて解説している。
[C#] リフレクションでなるべく高速にクラスメンバを取得 - Qiita
https://qiita.com/radian-jp/items/97a1eaf3cec02d722fd4
リフレクションによるプロパティーやフィールドの値の読み出しの速度の比較について。
記事では .NET Framework 4.8.1 と .NET 8 での計測を行っている。
C#でDPAPIを使用して機密データを安全に暗号化する方法
https://zenn.dev/nuits_jp/articles/2024-10-05-encrypt-sensitive-data-csharp-dpapi
Windows の DPAPI を使用してデータを暗号化する方法について。
Octokit.NETを利用し、デバイスフロー認証を使用して、任意のリポジトリに直接ファイルを追加する
https://zenn.dev/nuits_jp/articles/2024-10-05-octokit-device-flow-auth
Octokit を使用してデバイスフローによる認証を行ったうえでリポジトリにファイルを追加する手順について。
Support for SLNX Solution Files | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2024/10/04/support-for-slnx-solution-files/
Rider 2024.3 EAP で新しいソリューション形式の .slnx (プレビュー) がサポートされたことについて。
記事では .slnx での保存方法や制限事項について説明している。
New Function Calling Available in .NET for Semantic Kernel | Semantic Kernel
Semantic Kernel v1.20 で対応された新しい function calling についての紹介。
Authentication on .NET: OpenID Connect, BFF, SPA - DZone
https://dzone.com/articles/modern-authentication-on-dotnet
BFF パターンを用いた OpenID Connect によるシングルページアプリケーションでの認証の実装について。
Building a Real-Time Stock Price Tracker with .NET 8 GraphQL and React: Market Pulse
https://www.codeproject.com/Articles/5387952/Building-a-Real-Time-Stock-Price-Tracker-with-NET
ASP.NET Core サーバーと React によるフロントエンドを GraphQL で接続してリアルタイムに株価を表示するアプリケーションを実装例の解説。
【C#】record (class)・record struct・readonly record structがどういう実装になるのかSharpLabでデコンパイルして覗いてみる - はなちるのマイノート
https://www.hanachiru-blog.com/entry/2024/09/30/120000
レコード型、値型レコード型、読み取り専用の値型レコード型がどのような実装となっているか SharpLab でデコンパイルした結果を確認している。
SponsorLink v2: A New Hope
https://www.cazzulino.com/sponsorlink2.html
ライブラリ、リポジトリ、ツールなど
altmann/FluentResults: A generalised Result object implementation for .NET/C#
https://github.com/altmann/FluentResults
成功/失敗を型で表す Result パターンを実装するためのライブラリー。
サイト、ドキュメントなど
ツイート
Visual Studio のコードエディターから GitHub または Azure DevOps のコードへのリンク (URL) をコピーできるようになるという話。
You can get a GitHub or Azure DevOps link to a specific line of code to make it easy to share with your colleagues.
— Mads Kristensen (@mkristensen) October 10, 2024
Coming soon to Visual Studio... pic.twitter.com/mlh6v451Ap
IEnumerable ビジュアライザーで IntelliSense が使用できるようになるという話。
The IEnumerable Visualizer has been enhanced with IntelliSense, providing real-time code suggestions and autocompletion, which makes writing LINQ expressions faster and more accurate.
— Mads Kristensen (@mkristensen) October 9, 2024
Coming soon to Visual Studio... pic.twitter.com/GAY456D6UG