2023-07-16: .NET 8 Preview 6, .NET 7.0.9 and 6.0.20, System.Web Adapters v1.2

Published on Sunday, 16 July 2023

トピックス

Announcing .NET 8 Preview 6 - .NET Blog

https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-6/

.NET 8 Preview 6 がリリースされた。

  • System.Text.Json の改善
    • JsonStringEnumConverter<TEnum>
  • JsonConverter.Type
  • ストリームベースの ZipFile.CreateFromDirectory と ExtractToDirectory メソッドオーバーロード
  • MetricCollector メトリクス API
  • Options validation Source Generator
  • 機能強化のための LoggerMessageAttribute コンストラクターオーバーロードの拡張
  • Configuration バインディング Source Generator の改善
  • Source Generator による COM 相互運用
  • HTTPS プロキシーサポート
  • System.Security: SHA-3 サポート
  • SDK: コンテナーの発行パフォーマンスと互換性
  • WASM での HybridGlobalization モード
  • iOS プラットフォームをターゲットとする NativeAOT のサポート
  • CodeGen
    • JIT の改善
    • AVX-512 サポート
    • Arm64 の改善

Announcing .NET MAUI in .NET 8 Preview 6: Hello VS Code & VS for Mac - .NET Blog

https://devblogs.microsoft.com/dotnet/announcing-dotnet-maui-in-dotnet-8-preview-6/

.NET 8 Preview 6 での .NET MAUI のアップデートについて。

このリリースでは Visual Studio Preview に加えて、Visual Studio Code 向けの拡張がプレビューリリースとなった。また Visual Studio for Mac においてもプレビュー機能として利用可能となった。

Announcing the .NET MAUI extension for Visual Studio Code - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/announcing-the-dotnet-maui-extension-for-visual-studio-code/

Visual Studio Code 向けの .NET MAUI 拡張がプレビューリリースされた。

この拡張は Windows, macOS, Linux における .NET MAUI 開発で、異なるデバイスやエミュレーターといった任意のターゲットでの開発、デバッグのサポートを提供する。ライセンスは C# Dev Kit と同様に Visual Studio のライセンスとなる。

ASP.NET Core updates in .NET 8 Preview 6 - .NET Blog

https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-8-preview-6/

.NET 8 Preview 6 での ASP.NET Core のアップデートについて。

  • スタートアップデバッグ体験の向上
  • Blazor
    • サーバーサイドレンダリングのフォームモデルバインディングと検証
    • ページナビゲーションとフォームハンドリングの強化
    • ストリーミングレンダリングでの既存の DOM 要素の維持
    • 呼び出し元でのコンポーネントレンダリングモードの指定
    • Blazor WebAssembly インタラクティブレンダリング
    • セクションの改善
    • Blazor コンポーネントへのクエリーストリングのカスケード
    • サーバーインタラクティブ性の Blazor Web App テンプレートのオプション
    • Blazor テンプレートの統合
  • Metrics
    • ASP.NET Core アプリのテストメトリクス
    • 新規、改善、リネームされたカウンター
  • API オーサリング
    • Minimal API での複雑なフォームバインディングサポート
  • サーバーとミドルウェア
    • HTTP.sys カーネルレスポンスバッファリング
    • Redis ベースの出力キャッシュ

New C# 12 preview features - .NET Blog

https://devblogs.microsoft.com/dotnet/new-csharp-12-preview-features/

新しい C# 12 のプレビュー機能の紹介。

  • nameof によるインターフェースメンバーへのアクセス
  • Inline arrays
  • Interceptors
    • Source Generator 向けの既存のメソッド呼び出しに介入できるような仕組み
    • 実験的機能としての実装のため独自のスイッチによる有効化が必要

.NET July 2023 Updates – .NET 7.0.9, .NET 6.0.20 - .NET Blog

https://devblogs.microsoft.com/dotnet/july-2023-updates/

.NET 7.0.9 および 6.0.20 がリリースされた。

このリリースではいくつかのセキュリティー修正と改善が含まれている。

  • CVE-2023-33127 – .NET リモートコード実行の脆弱性
    • .NET 診断サーバーでの特権昇格とコード実行
  • CVE-2023-33170 – .NET セキュリティ機能のバイパスの脆弱性
    • ASP.NET Core でのアカウントロックアウト最大試行回数が更新されない問題

.NET Framework July 2023 Security and Quality Rollup Updates - .NET Blog

https://devblogs.microsoft.com/dotnet/dotnet-framework-july-2023-security-and-quality-rollup-updates/

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

Introducing System.Web Adapters v1.2 with new APIs and scenarios - .NET Blog

https://devblogs.microsoft.com/dotnet/systemweb-adapters-1_2/

System.Web Adapters v1.2 がリリースされた。

このリリースでは ASP.NET Core での HttpApplication を含む IHttpModule のサポートとエミュレーション、カスタムセッションキーシリアライザー、IHtmlString サポート、その他 API の追加が行われている。

記事ではインクリメンタルに移行するためのガイダンスも紹介している。

Extended C# Support in ReSharper and Rider 2023.2 EAP 9 | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/07/14/rsrp-rider-2023-2-eap9/

ReSharper と Rider 2023 EAP 9 がリリースされた。

このリリースではプライマリーコンストラクターなど C# 12 プレビューサポートの向上、IAsyncDisposable のサポート、よりよい discard _ サポートといった改善が行われている。

Get the most from Visual Studio with Microsoft Dev Box-now generally available - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/get-the-most-from-visual-studio-with-microsoft-dev-box-now-generally-available/

Microsoft Dev Box が一般提供開始となった。

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

ReSharper 2023.2 EAP 8: Comparing Assemblies in ReSharper and dotPeek, Plus More C++ Features | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/07/10/resharper-2023-2-eap-8/

ReSharper 2023.2 EAP 8 での新機能の紹介。

ReSharper および dotPeek でアセンブリーの比較差分を確認できる機能が追加された。

Integration Test Postgres with testcontainers-dotnet

https://dev.to/kashifsoofi/integration-test-postgres-with-testcontainers-dotnet-1gkn

testcontainers-dotnet で PostgreSQL を使用した統合テストを行う方法について。

Silverlight Just Won't Die: 'XAML for Blazor' Arrives -- Visual Studio Magazine

https://visualstudiomagazine.com/articles/2023/07/13/xaml-blazor.aspx

Userware が提供している Blazor で XAML を使用できるようにする XAML for Blazor についての紹介。

How to prevent the screen turn off after a while in Blazor

https://dev.to/this-is-learning/how-to-prevent-the-screen-turn-off-after-a-while-in-blazor-4b29

Blazor で Screen Wake Lock API を使用して画面のスリープを防ぐ方法について。

How small is the smallest .NET Hello World binary?

https://blog.washi.dev/posts/tinysharp/

Hello World を表示する .NET アプリケーションを極限まで小さくするという試み。

記事では様々なテクニックを駆使して4.6KBの実行ファイルを最終的に834バイトまで縮めることに成功している。

The minimal API AOT compilation template: Exploring the .NET 8 preview - Part 2

https://andrewlock.net/exploring-the-dotnet-8-preview-the-minimal-api-aot-template/

.NET 8 Preview の Minimal API 向け AOT のテンプレートの解説。

I finally found a use for Logging in .NET!

https://martinjt.me/2023/07/14/i-finally-found-a-use-for-logging-in-net/

OpenTelemetry へのトレーシングの構成を間違えた際のエラーログを取得するための手法について。

エクスポーターはバックグラウンドで動作するため、エラーが発生しても表には出てこないため EventListener でイベントを取得する。

「.NET + Lambda のパフォーマンスを最適化する方法」というテーマのビデオセッションで話しました #devio2023 | DevelopersIO

https://dev.classmethod.jp/articles/devio2023-video-57-dotnet/

.NET を AWS Lambda で使用する際に NativeAOT を使用してコールドスタートのパフォーマンスを改善することについて。

Exploring Blazor Changes in .NET 8 - Server Side Rendering (SSR)

https://jonhilton.net/blazor-ssr/

.NET 8 での Blazor の Server Side Rendering についての簡単な解説。

What does Azure AD renamed Microsoft Entra ID mean for .NET developers? - .NET Blog

https://devblogs.microsoft.com/dotnet/azure-ad-microsoft-entra/

Azure Active Directory (Azure AD) が Entra ID にリブランドしたことによる .NET 開発者への影響について。

ライブラリーや URL といったものは変更されないため既存のコードに対しての影響はないとしている。

Debug Source Generators in JetBrains Rider | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/07/13/debug-source-generators-in-jetbrains-rider/

Rider での Source Generator のデバッグについての紹介。

記事では Source Generator で生成されたコードのデバッグや Source Generator 自体のデバッグ、Roslyn テンプレートについて触れている。

Titlebars and Themes: A WinUI Adventure

https://inthehand.com/2023/07/11/titlebars-and-themes-a-winui-adventure/

WinUI でのタイトルバーのウィンドウボタンとタスクバープレビューでのアイコンが Windows の見た目に合わせるための Tips。

C#の単体テストにおいてILoggerのログをテスト出力に表示する方法

https://zenn.dev/jtechjapan/articles/d10e9e9c0d5bbe

ユニットテストで Microsoft.Extensions.Logging の ILogger を経由してテスト出力にする方法について。

記事では MartinCostello.Logging.XUnit パッケージを使用する方法を紹介している。

dotTrace comes to BenchmarkDotNet | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/07/11/dottrace-comes-to-benchmarkdotnet/

BenchmarkDotNet 0.13.6 で導入された dotTrace の統合について。

DotTraceDiagnoser を使用することでベンチマーク中のプロファイリングが可能となる。なおスナップショットを開くには dotTrace のライセンスが必要となる。

Comparing WebApplication.CreateBuilder() to the new CreateSlimBuilder() method: Exploring the .NET 8 preview - Part 3

https://andrewlock.net/exploring-the-dotnet-8-preview-comparing-createbuilder-to-the-new-createslimbuilder-method/

.NET 8 の ASP.NET Core で導入される WebApplication.CreateSlimBuilder について。

AOT 向けに機能制限された構成で起動するためのビルダーについて詳しく説明している。

Milestone: 2 million downloads for VideoLAN .NET NuGet packages

https://dev.to/mfkl/milestone-2-million-downloads-for-videolan-net-nuget-packages-k1e

VideoLAN .NET NuGet パッケージアカウントの合計ダウンロード数が200万ダウンロードを超えたことと、今後の開発について。

LibVLC 4 のサポート、Unity や Uno Platform、コマーシャルライセンスといった点に触れている。

Windows と Visual Studio と .NET のサポート状況について (2023.07) - Qiita

https://qiita.com/mmake/items/946aea0d9a195aa5e3d4

Windows と Visual Studio、.NET および .NET Framework のサポート期限と対応 OS の組み合わせのまとめ。

Cake v3.1.0 released

https://cakebuildnet.medium.com/cake-v3-1-0-released-c42728359d25

Cake v3.1.0 がリリースされた。

このリリースではいくつかの改善が含まれている。

Build 2023 で発表されて Windows 11 Insider Preview で利用可能になった Dev Drive を試した - しばやん雑記

https://blog.shibayan.jp/entry/20230710/1688920344

Windows 11 Insider Preview で利用可能となった開発向けのボリューム Dev Drive を試用してみたことについて。

実際に .NET でビルドした結果や Copy-on-Write を活用する方法についても触れている。

Let's Learn .NET - Web 開発 (日本語) - YouTube

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

Visual Studio Code を使用して HTML/CSS、ASP.NET Core Razor Pages といったもので .NET 開発を学ぶ動画。

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

MSBuild Editor - Visual Studio Marketplace

https://marketplace.visualstudio.com/items?itemName=mhutch.MSBuildEditor

Visual Studio で MSBuild ファイルを編集するための拡張。

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

ツイート