トピックス
.NET and .NET Framework July 2024 servicing releases updates - .NET Blog
https://devblogs.microsoft.com/dotnet/dotnet-and-dotnet-framework-july-2024-servicing-updates/
.NET 6 と .NET 8、.NET Framework の2024年7月のアップデートがリリースされた。
このリリースではいくつかのセキュリティー問題の修正が含まれている。
- CVE-2024-30105: System.Text.Json の JsonSerializer.DeserializeAsyncEnumerable でのサービス拒否の脆弱性
- CVE-2024-35264: Kestrel HTTP/3 のデータ破損によるリモートコード実行の脆弱性
- CVE-2024-38081: Visual Studio インストーラーでの権限昇格の脆弱性
- .NET 6.0, .NET Framework 2.0, 3.0, 3.5, 4.6.2, 4.7, 4.7.1, 4.8, 4.8.1 に影響
- Microsoft Security Advisory CVE-2024-38081 | .NET Denial of Service Vulnerability · Issue #313 · dotnet/announcements
- CVE-2024-38095: System.Formats.Asn1 で X.509 証明書の解析時にサービス拒否が発生する脆弱性
.NET 9 Preview 6 · dotnet/core · Discussion #9392
https://github.com/dotnet/core/discussions/9392
.NET 9 Preview 6 がリリースされた。
ライブラリー
- System.Numerics の改善
- Logging の Source Generator でのプライマリーコンストラクターのサポート
- System.Text.Json の改善
- プロパティーに対する
[GeneratedRegex]
Regex.EnumerateSplits
OrderedDictionary<TKey, TValue>
ReadOnlySet<T>
- ライブラリーの多くの場所で
allows ref struct
の適用 - Span を使用したコレクションルックアップ
- より多くの Span ベースの API
- Base64Url
- HttpClientFactory での SocketsHttpHandler のデフォルト化
- Linux でのクライアント証明書を使用した際の TLS レジューム
System.Net.ServerSentEvents
- メトリクス ゲージ 計測の導入
ランタイム
- ARM64 コード生成
- コードレイアウト
- ループ最適化
- アドレス公開の軽減
- AVX10v1 サポート
- ハードウェア固有コード生成
- 不動少数点と SIMD オペレーションの定数畳み込み
SDK
- NuGetAudit による推移的依存関係の脆弱性の警告
dotnet nuget why
- MSBuild BuildChecks
C#
- パーシャルプロパティー
ASP.NET Core
- 静的 Web アセットのフィンガープリント
- SignalR の分散トレーシングの改善
- Microsoft.AspNetCore.OpenAPI の改善
[AllowAnonymous]
によって[Authorize]
のオーバーライドされている場合の Analyzer 警告- フレームを跨いだ巨大な HTTP/2 ヘッダーの分割
Version 17.11 Preview 3 | Visual Studio 2022 Preview Release Notes
C# 13: Explore the latest preview features - .NET Blog
https://devblogs.microsoft.com/dotnet/csharp-13-explore-preview-features/
C# 13 で導入される予定の言語機能の解説。
- params コレクションの柔軟性の拡張
- lock オブジェクト
- インデックスオペレーターの改善
\e
エスケープシーケンス- パーシャルプロパティー
- メソッドグループの自然型に関する改善
async
メソッドとイテレーターでのref
とunsafe
- Extension Types についてのアップデート
- Extension Types は C# 14 へと延期された
Dark Mode Now Available on NuGet.org - The NuGet Blog
https://devblogs.microsoft.com/nuget/dark-mode-now-available-on-nuget-org/
NuGet.org がダークテーマに対応。
システムのテーマを尊重し、設定されているテーマによって Web サイトのテーマが変更される。ユーザー設定から明示的に設定することも可能。また、Light テーマも Fluent Design のようなテーマに更新されている。
Release NATS .NET v2.3.0 · nats-io/nats.net.v2
https://github.com/nats-io/nats.net.v2/releases/tag/v2.3.0
NATS.NET v2.3.0 がリリースされた。
このリリースでは .NET Standard がサポートされ、.NET Framework や Unity から利用可能となった。
アーティクル、スライドなど
自動テストの実行時間を大幅短縮!分析と最適化の実践法
https://zenn.dev/thinkingsinc/articles/b52c47acd52913
ユニットテストの実行時間を短縮するために行ったことを紹介。
Scan HTML faster with SIMD instructions: .NET/C# Edition – Daniel Lemire's blog
https://lemire.me/blog/2024/07/05/scan-html-faster-with-simd-instructions-net-c-edition/
WebKit や Chromium が行っているような文字列スキャンに SIMD を使用する手法を C#/.NET で行う方法について。
記事ではナイーブな実装との比較や SearchValues クラスについて触れている。
Why and How to Execute GraphQL Queries in .NET - .NET Blog
https://devblogs.microsoft.com/dotnet/why-and-how-to-execute-graph-ql-queries-in-dotnet/
GraphQL のクエリーを Strawberry Shake を使用してリクエストする方法について。
Snapshot Testing in .NET with Verify | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2024/07/11/snapshot-testing-in-net-with-verify/
Verify を使用したスナップショットテスト (出力値を保存して検証する) について。
Try Full Line Code Completion in JetBrains Rider 2024.1.4 | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2024/07/10/full-line-code-completion-in-jetbrains-rider/
Rider 2024.1 のフルラインコード補完 (Full Line Code Completion; FLCC) の紹介。
フルラインコード補完はローカルなモデルを使用してコード補完を行う機能。追加のサブスクリプションなどは不要となっている。
Adding support for collection expressions to your own types: Behind the scenes of collection expressions - Part 5
システムで用意されている型以外に自分自身の型をコレクション式に対応させるための手順についての解説。
[WPF]ReactivePropertyからR3,ObservableCollectionsへの移行 - Qiita
https://qiita.com/monarc/items/1fecef8dda4622e835cb
ReactiveProperty から R3、ObservableCollections への移行について。
Demystify history with GitHub Copilot commit explanations - Visual Studio Blog
Visual Studio 上でコミット履歴の解説を GitHub Copilot で生成する機能の紹介。
C# 13 Semi-Auto Properties - NDepend Blog
https://blog.ndepend.com/c-13-semi-auto-properties/
C# 13 (またはそれ以降) で導入が検討されている半自動実装プロパティー (semi-auto properties) についての解説。
HTML Datalist for ASP.NET Core Inputs
https://khalidabuhakmeh.com/html-datalist-for-aspnet-core-inputs
HTML の datalist 要素に対する Tag Helper の実装。
Service Discovery in Microservices With .NET and Consul
https://dev.to/milanjovanovictech/service-discovery-in-microservices-with-net-and-consul-4k81
Consul を使用したサービスディスカバリーの実装について。
Creating hashes in .NET
https://damienbod.com/2024/07/01/creating-hashes-in-net/
.NET でハッシュを計算する方法について。SHA512、Rfc2898DeriveBytes.Pbkdf2、ASP.NET Core Identity を紹介している。
自作の.NET製CLIツールにタブ補完機能を付ける(その2)~入力候補を動的に取得する - Qiita
https://qiita.com/pierusan2010/items/e820ab9faf57aba0f2bd
コマンドラインツールのタブ補完機能で入力候補を動的に取得、表示できるようにする方法について。
Windows の名前付きパイプでホスト間通信をしたい
https://zenn.dev/shusann01116/articles/71f9bfea17c050
Windows の名前付きパイプを使用してリモートホストとの通信を行う方法について。記事では ASP.NET Core と gRPC を使用した例を紹介している。
VSTOアドインでキーボード操作を見たい - Qiita
https://qiita.com/ikuzak/items/3706dee143e90d6c4131
VSTO アドイン内でキーボードのキー入力を監視する方法について。記事ではキーボードフックによる監視方法を紹介している。
dotInsights | July 2024 | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2024/07/05/dotinsights-july-2024/
JetBrains による .NET 関連情報の2024年7月分のまとめ
Setting Up Renovate as Azure DevOps Pipeline for Automatic .NET NuGet Package Updates
https://nietras.com/2024/07/09/renovate-azure-devops/
Azure Pipelines で Renovate を使用して NuGet パッケージを自動更新する方法について。