2022-10-17: .NET 7 Release Candidate 2, .NET MAUI support for Xcode 14 and iOS 16, .NET 6.0.10 and .NET Core 3.1.30

Published on Monday, 17 October 2022

トピックス

Announcing .NET 7 Release Candidate 2 - .NET Blog

https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-2/

.NET 7 RC2 がリリースされた。

記事では過去の .NET 7 に関する新機能の記事へのリンクのほか、いくつかの変更について紹介している。

  • System.Text.Json のソース生成時のリフレクションフォールバックの再有効化方法
  • API を正しく使用するための新しいアナライザー
    • Generic Math インターフェースを正しく実装するためのアナライザー
    • IntPtr と UIntPtr の組み込みオペレーターの挙動の変更を防止するためのアナライザー

Announcing Entity Framework Core 7 RC2: JSON Columns - .NET Blog

https://devblogs.microsoft.com/dotnet/announcing-ef7-release-candidate-2/

Entity Framework Core 7 RC2 がリリースされた。

このリリースでは GA に含まれる機能のすべてが含まれ、RC1 から80以上の問題の修正が行われている。

記事では Entity Framework Core 7 の新機能の JSON カラムへのマッピングについて、定義方法やクエリーなど詳しく紹介している。

ASP.NET Core updates in .NET 7 Release Candidate 2 - .NET Blog

https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-7-rc-2/

.NET 7 RC2 での ASP.NET Core の更新についての記事。

このリリースでは次の新機能が含まれており、記事ではそれぞれについて解説している。

  • 出力キャッシュの改善
  • msal.js (MSAL) を使用した動的な認証要求
  • Blazor WebAssembly での認証の診断の改善
  • WebAssembly でのマルチスレッディング (試験的)

Announcing .NET MAUI support for Xcode 14 and iOS 16 - .NET Blog

https://devblogs.microsoft.com/dotnet/dotnet-maui-xcode14/

.NET MAUI が Xcode 14 および iOS 16 をサポートした。

Visual Studio 2022 と .NET 6 で Xcode 14 と iOS 16 のサポートする .NET MAUI の6番目となるサービスリリース。Visual Studio 2022 17.3 または 17.4 Preview 3 、Visual Studio for Mac は 17.4 Preview 3 での対応。

なお .NET 7 の MAUI での Xcode 14 サポートは後日(一週間後)となっているため、この時点では .NET 7 の MAUI は RC1 が最新となる。

記事では Windows デバイスから Mac に接続して iOS のアプリケーションを開発できることを紹介している。

What's new in System.Text.Json in .NET 7 - .NET Blog

https://devblogs.microsoft.com/dotnet/system-text-json-in-dotnet-7/

.NET 7 の System.Text.Json の新機能についての紹介記事。

  • コントラクトのカスタマイズ
    • IJsonTypeInfoResolverModifiers を使ったシリアライズ/デシリアライズ処理のカスタマイズ
  • 型階層
    • JsonDerivedType 属性を使用した継承型のシリアライズ/デシリアライズ
    • JsonPolymorphic 属性や JsonTypeInfo を操作することによるポリモーフィズムのカスタマイズ
  • 必須メンバー (required)
  • JsonSerializerOptions.Default の追加
  • Utf8JsonReader.CopyString の追加
  • ソース生成改善
    • IAsyncEnumerable<T> のサポート
    • JsonDocument のサポート
    • DateOnly, TimeOnly のサポート
  • パフォーマンス改善
  • 破壊的変更

.NET October 2022 Updates – .NET 6.0.10 and .NET Core 3.1.30 - .NET Blog

https://devblogs.microsoft.com/dotnet/october-2022-updates/

.NET 6.0.10 と .NET Core 3.1.30 がリリースされた。

このリリースではいくつかの不具合の修正と改善のほか、NuGet に関する脆弱性に対応するセキュリティー修正が含まれている。

.NET Framework October 2022 Security and Quality Rollup - .NET Blog

https://devblogs.microsoft.com/dotnet/dotnet-framework-october-2022-security-and-quality-rollup/

.NET Framework の2022年10月のセキュリティーと累積アップデートがリリースされた。

このリリースではいくつかの問題の修正と信頼性の向上が含まれている。新しいセキュリティー修正は含まれない。

Azure Static Web Apps extended support for .NET Core 3.1 ends on 3 December 2022 | Azure updates | Microsoft Azure

https://azure.microsoft.com/en-us/updates/staticwebappsdotnet3deprecation/

Azure Static Web Apps の .NET Core 3.1 の拡張サポートが2022年12月3日に終了する。

Azure Static Web Apps の関数は Azure Functions 上で動作するため、引き続きサポートとセキュリティー更新を受け取るためには .NET 6 を使用するランタイム v4 への移行が必要となる。

In development: Day 0 support for .NET 7 | Azure updates | Microsoft Azure

https://azure.microsoft.com/en-us/updates/in-development-day-0-support-for-net-7/

Azure App Service での .NET 7 の Day 0 サポート予定のアナウンス。

Cake v2.3.0 released

https://cakebuildnet.medium.com/cake-v2-3-0-released-b60746a00555

Cake v2.3 がリリースされた。

グローバルスクリプトキャッシュの改善やコマンドのエイリアスといった改善が含まれている。

アーティクル、スライドなど

【C#】コンソールアプリで入力された文字を非表示にしてReadLineする - Qiita

https://qiita.com/admiralhetare/items/2de677d90c5ce0ab2659

パスワード入力のようなエコーバックしない1行入力 (ReadLine) を実現する方法についての記事。

Adding validation to strongly typed configuration objects using FluentValidation

https://andrewlock.net/adding-validation-to-strongly-typed-configuration-objects-using-flentvalidation/

ASP.NET Core のような Microsoft.Extensions.Configuration を使用した設定で型付き設定を行う際に FluentValidation で設定値を検証する方法についてのの記事。

End-to-End test a Blazor App with Playwright [Part 1]

https://medium.com/younited-tech-blog/end-to-end-test-a-blazor-app-with-playwright-part-1-224e8894c0f3

Blazor アプリケーションを Playwright で End-to-End テストを行う方法についての記事シリーズ。

List in C#: implementation and features

https://pvs-studio.com/en/blog/posts/csharp/0995/

.NET の List<T> がどのような実装となっていてどのような機能を提供するのかを解説している記事。

[.NET 6] AWS SSM Parameter StoreをGeneric Hostに登録して使う

https://zenn.dev/shimat/articles/affbb2ece0ace8

AWS Systems Manager Parameter Store にある値を ASP.NET Core のような Generic Host アプリケーションから利用する方法についての記事。

Entity Framework Core 7: Strongly Typed Ids Together With Auto-Increment Columns

https://david-masters.medium.com/entity-framework-core-7-strongly-typed-ids-together-with-auto-increment-columns-fd9715e331f3

Entity Framework Core 7 で対応するオートインクリメントなカラムに対する厳密な型を持つ ID を使用することについての記事。

Blazor Life Cycle Events: Oversimplified

https://betterprogramming.pub/blazor-life-cycle-events-oversimplified-4b8e1bd5fa4b

Blazor のライフサイクルイベントについて解説している記事。

Developing ASP.NET Core apps in Docker - Live Recompilation

https://tymisko.hashnode.dev/developing-aspnet-core-apps-in-docker-live-recompilation

Docker (Docker Compose) で ASP.NET Core アプリケーションを開発する手順についての記事。

ローカルのソースコードをマウントしてコンテナー内でビルドと実行を行う方法を紹介している。

[ASP.NET Core 6] モデルバインドでrecordを使うときの注意点

https://zenn.dev/shimat/articles/ef69b034cd0499

.NET 6 の ASP.NET Core で record 型をモデルバインドする際に設定する属性(FromForm, JsonPropertyName など)で注意すべき点をまとめた記事。

Lessons Learned on Optimizing .NET on AWS Lambda

https://dev.to/lambdasharp/lessons-learned-on-optimizing-net-on-aws-lambda-2n5m

AWS Lambda で .NET アプリケーションを実行する際の最適化ポイントのまとめ。

Stripe Payment Gateway Implementation in ASP .NET Core Web API

https://juldhais.net/stripe-payment-gateway-implementation-in-asp-net-core-web-api-359ad44e2b47

ASP.NET Core Web API から Stripe の API を使用する方法まとめ。

プレゼンテーション

Victor Nicollet - ILPack: saving assemblies to disk (Dotnetos Conference 2022) - YouTube

https://www.youtube.com/watch?v=t_kBLD5D3_4

.NET Core 以降で動的にアセンブリを保存するためのライブラリー ILPack についての発表。

Kevin Gosse - Pushing C# to new places with NativeAOT (Dotnetos Conference 2022) - YouTube

https://www.youtube.com/watch?v=eE0AbO5_XSw

.NET の NativeAOT でネイティブライブラリーを作ることでいろいろなことができる(.NET プロファイラーや LLDB 拡張、.NET の GC など)という発表。

Krzysztof Stolarz - Road to .NET 6: migration story of hope and despair (Dotnetos Conference 2022) - YouTube

https://www.youtube.com/watch?v=ttsowlY55KM

高負荷リアルタイムな .NET Framework によるサーバーアプリケーションを .NET に移行した事例についての発表。

ライブラリ、リポジトリ、ツールなど

chrisnas/Win-pprof: Windows .pprof viewer

https://github.com/chrisnas/Win-pprof

.pprof ファイルを表示するための Windows のビューアー。

サイト、ドキュメントなど

ツイート

.NET の階層化コンパイルがどのようになっているかの大雑把な図で、何故2つの呼び出しが追加されていて Web アプリにはどういうメリットがあるのかという話。異なるスレッドで同じメソッドを実行するパターン、つまり異なるコア(あるいは NUMA)から同じメモリー位置にアクセスする場合にキャッシュスラッシングを減らすためらしい。

Deep Dive

JIT: implement tail merging by AndyAyersMS · Pull Request #77103 · dotnet/runtime

https://github.com/dotnet/runtime/pull/77103