2022-10-25: .NET MAUI support for .NET 7 RC 2, OpenSilver 1.1, Windows Dev Kit 2023

Published on Tuesday, 25 October 2022

トピックス

Announcing .NET MAUI support for .NET 7 Release Candidate 2 - .NET Blog

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

.NET 7 RC 2 向けの .NET MAUI サポートがリリースされた。

このリリースでは iOS 16 に対応した Xcode 14 のサポートが行われており、Visual Studio 17.4 Preview 4 で利用可能となる。またこのバージョンはプロダクション環境での利用がサポート対象となる。

OpenSilver 1.1 Released!

https://www.opensilver.net/announcements/opensilver1-1.aspx

Silverlight の互換を目指す、WebAssembly 上で動作するオープンソース実装 OpenSilver の 1.1 がリリースされた。

このリリースでは100を超える Silverlight の機能のサポートの追加、Telerik UI をはじめとした様々なサードパーティーライブラリーのサポートの追加、最大3倍のパフォーマンス向上といった改善が行われている。

また、来年初頭にリリースを予定している 2.0 では VB.NET のサポートを追加するとのこと。

Available today: Windows Dev Kit 2023 aka Project Volterra - Windows Developer Blog

https://blogs.windows.com/windowsdeveloper/2022/10/24/available-today-windows-dev-kit-2023-aka-project-volterra/

Arm アーキテクチャー向け Windows の開発キットが Windows Dev Kit 2023 という名前で販売開始となった。

Windows Dev Kit 2023 は Build 2022 で Project Volterra という名前で発表された開発者向けのキットで、Snapdragon 8cx Gen 3 と 32GB の RAM、512GB の NVMe SSD を備えている。

オーストラリア、カナダ、中国、フランス、ドイツ、日本、英国、米国で今日から注文が可能となっている。日本では 99,880円 (税込) となる。

Release Diagnostics Release - v6.0.351802 · dotnet/diagnostics

https://github.com/dotnet/diagnostics/releases/tag/v6.0.351802

dotnet-{dump,monitor,trace} (Diagnostics) の 6.0.351802 がリリースされた。

dotnet-dump では Linux/macOS での SOS コマンドの拡充をはじめ、いくつかの不具合と改善が含まれている。dotnet-monitor と dotnet-trace では不具合の修正が行われている。

Support reminder for older versions of Visual Studio - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/support-reminder-for-older-versions-of-visual-studio/

サポートが終了となる Visual Studio についてのリマインダー。

  • Visual Studio 2012: 2023年1月10日に延長サポートが終了
  • Visual Studio 2013: 2024年4月9日に延長サポートが終了
  • Visual Studio 2015: 2025年10月14日に延長サポートが終了
  • Visual Studio 2017: 2022年4月12日にメインストリームサポートが終了、2027年4月13日に延長サポートが終了 (15.9)
  • Visual Studio 2019 (16.9): 2022年10月11日にサポートが終了。引き続き 2019 のサポートを受ける場合には 16.11 への移行が推奨される
  • Visual Studio 2019 Preview: 更新終了のため、リリースチャンネルへの移行または 2022 の Preview チャンネルへの移行が推奨される

記事では管理者による更新プログラムの管理やサポート終了となったコンポーネントの削除方法といった点についても触れている。

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

Hello .NET! - AtomicJar

https://www.atomicjar.com/2022/10/hello-dotnet/

Testcontainers の .NET 向け実装のメンテナー (AtomicJar 社の人) の Testcontainers の紹介。

Testcontainers の .NET 向けの実装を行った経緯やリポジトリの成長、xUnit.net との連携例といったものを紹介している。

dotnet-monitor: Enabling a diagnostics sidecar in AKS

https://www.poppastring.com/blog/dotnetmonitor-enabling-a-diagnostics-sidecar-in-aks

dotnet-monitor を AKS (Azure Kubernetes Serivce) の Pod のサイドカーとして動かす方法についての動画。

NET Systems Programming Learned the Hard Way.pptx

https://www.slideshare.net/petabridge/net-systems-programming-learned-the-hard-waypptx

Akka.NET 開発者による .NET の低レベルなコンポーネントに関しての解説スライド。

[C#]MemoryPackを使ってみたい1 - 基本 | spacekey.dev

https://spacekey.dev/memorypack-1

バイナリーシリアライザー MemoryPack を使用してみるというシリーズ。

CLR events: go for the nettrace file format!

https://chnasarre.medium.com/clr-events-go-for-the-nettrace-file-format-6b363364c2a3

CLR から診断イベントを nettrace バイナリーストリームで受け取る方法についての記事。

WSLとRiderによるASP.NET / Kubernetes開発 (1)

https://zenn.dev/dynamitecoolguy/articles/4530e1134bcbac

WSL 上で Rider を実行して ASP.NET Core と Kubernetes を使用した開発をする準備手順を紹介している記事。

Implementing GraphQL API Gateway in .NET 6 + Hot Chocolate v12 + Redis

https://dianper.medium.com/implementing-graphql-api-gateway-in-net-6-hot-chocolate-v12-redis-1a0ac12f340c

フェデレーションスキーマを使用した GraphQL API ゲートウェイを .NET 6 と Hot Chocolate v12、Redis を使用して実現する方法についての記事。

Write your own code coverage script for your .NET projects

https://medium.com/@stefanacimovicMEng/write-your-own-code-coverage-script-for-your-net-projects-e26b621aa0dc

.NET プロジェクトのコードカバレッジを取得してレポートを出力する一連の手順を自作する方法についての記事。

Custom scaffold templates in ASP.NET Core | dotnetthoughts

https://dotnetthoughts.net/custom-scaffold-templates-in-asp-net-core/

ASP.NET Core MVC のテンプレートをプロジェクトレベルでカスタマイズする方法についての記事。

SAMを使ってAPI-Gateway経由でAWSServerlessFunctionから画像をダウンロードする - Qiita

https://qiita.com/karuakun/items/e61007864364ab164774

AWS Serverless Application Model を使用してアプリケーションを作成した場合に API Gateway を介したバイナリデータを取り扱う方法についての記事。

10 Visual Studio 2022 Themes you Should Try (Free Themes!)

https://blog.dotnetsafer.com/best-visual-studio-2022-themes/

Visual Studio 2022 に追加できる10種類のテーマの紹介。

Build your Own Reverse proxy

https://satish1v.medium.com/build-your-own-reverse-proxy-bf3232e7e5f3

YARP で簡単にリバースプロキシーサーバーを作ってみるという記事。

Error handling in the field - Ayende @ Rahien

https://ayende.com/blog/198369-A/error-handling-in-the-field

アプリケーションのクラッシュレポート(UnhandledException)を収集するようにしていたところ、最近の Windows Update で WPF の挙動が変わって内部でエラーが出るようになったので無視するようにしたものの微妙という話。

How to send emails at scale in .NET with the Azure Communication Service

https://medium.com/medialesson/how-to-send-emails-at-scale-in-net-with-the-azure-communication-service-14565d84147f

Azure Communication Service を使用してメール送信を行う方法についての記事。

.NET 7 の ASP.NET Core Blazor の新機能試してみよう

https://zenn.dev/okazuki/articles/blazor-dotnet7

.NET 7 の ASP.NET Core Blazor の新機能を紹介している記事。

WebAssembly のローディング、bind の修飾子、仮想化の改善、ナビゲーションの改善について触れている。

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

Sergio0694/PolySharp: PolySharp provides generated, source-only polyfills for C# language features, to easily use all runtime-agnostic features downlevel. Add a reference, set your C# version to latest and have fun! 🚀

https://github.com/Sergio0694/PolySharp

C# の言語機能として必要となる属性(CallerArgumentExpression等)や構造体(Range等)の型が含まれていないターゲットフレームワーク向けにソースジェネレーターで型を追加生成することで新しい言語機能を利用できるようにするという Polyfill。

xt0rted/dotnet-startup-projects: A dotnet tool to manage multiple Visual Studio startup projects for a solution

https://github.com/xt0rted/dotnet-startup-projects

ソリューションで起動する Visual Studio のバージョンを変更するツール。

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

Networking Telemetry in .NET - .NET | Microsoft Learn

https://learn.microsoft.com/en-us/dotnet/fundamentals/networking/networking-telemetry

.NET のネットワーク関連のカウンターなどのテレメトリー情報についてまとめているドキュメント。

ツイート

ASP.NET Core と Entity Framework Core を NativeAOT に対応させるために取り組んでいるが、コード生成の課題についての話。

ソリューションエクスプローラーの「すべてのファイルを表示」すると、SDK などで読み込んでいる targets や props 等を確認できるという小技。

分割されたトータル 3GB の NuGet パッケージの話。

Deep Dive

Introduce System.Runtime.TieredPGO knob by EgorBo · Pull Request #26350 · dotnet/sdk

https://github.com/dotnet/sdk/pull/26350

TieredPGO という環境変数や MSBuild プロパティで階層化 PGO を有効化できるオプションが .NET 7 で追加されたという PR。

The compiler should report an error about references to out-of-scope stack memory generated by [UnscopedRef] and defensively copied struct. · Issue #64776 · dotnet/roslyn

https://github.com/dotnet/roslyn/issues/64776

スタック上に防衛的コピーされた値の参照を返して本来できないはずのアクセスができてしまうコードが書けるというコンパイラーのバグ。