トピックス
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 のサポートを追加するとのこと。
- OpenSilver Gets Closer to Open Source Parity with Long-Dead Microsoft Silverlight -- Visual Studio Magazine
- OpenSilver 1.1 Promises 99% of Code Compatibility with Silverlight Applications
Available today: Windows Dev Kit 2023 aka Project Volterra - Windows Developer Blog
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 の低レベルなコンポーネントに関しての解説スライド。
.NET Systems Programming Learned the Hard Way
— Aaron Stannard (@Aaronontheweb) October 19, 2022
Recording: https://t.co/WvVzjp98Ip
Slides: https://t.co/34ohASQ69w#dotnet #performance
[C#]MemoryPackを使ってみたい1 - 基本 | spacekey.dev
https://spacekey.dev/memorypack-1
バイナリーシリアライザー MemoryPack を使用してみるというシリーズ。
- [C#]MemoryPackを使ってみたい2 - ASP.NET Coreで使う | spacekey.dev
- [C#]MemoryPackを使ってみたい3 - TypeScriptで使う | spacekey.dev
- [C#]MemoryPackを使ってみたい4 - MemoryPackableの色々 | spacekey.dev
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
フェデレーションスキーマを使用した GraphQL API ゲートウェイを .NET 6 と Hot Chocolate v12、Redis を使用して実現する方法についての記事。
Write your own code coverage script for your .NET projects
.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
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。
New weekend project: PolySharp! It includes smart, source-generated polyfills for all C# language features: just reference it, enable C# 11, and enjoy all the new features downlevel, including on .NET Framework, UWP and more! Try it out! 🚀#csharp #dotnethttps://t.co/mPhXuJ8Ns0 pic.twitter.com/juZuMi91dv
— Sergio Pedri (@SergioPedri) October 24, 2022
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 のバージョンを変更するツール。
Just published a @dotnet tool to help manage solutions with multiple @VisualStudio startup projects.
— Brian Surowiec (@xt0rted) October 17, 2022
Add a property to each startup project, then run "startup-projects set --vs 2022" against the sln. It'll create a new .suo file with the right settings.https://t.co/tBybU6eyR1
サイト、ドキュメントなど
Networking Telemetry in .NET - .NET | Microsoft Learn
https://learn.microsoft.com/en-us/dotnet/fundamentals/networking/networking-telemetry
.NET のネットワーク関連のカウンターなどのテレメトリー情報についてまとめているドキュメント。
ツイート
We're working on making https://t.co/4PmXMR5h75 Core and EntityFramework work with trimming and ahead of time compilation (.NET NativeAOT). One of the big challenges is moving away from dynamic runtime code generation. Let's talk about what that means👇🏾 #dotnet #aspnetcore
— David Fowler 🇧🇧🇺🇸 (@davidfowl) October 20, 2022
ASP.NET Core と Entity Framework Core を NativeAOT に対応させるために取り組んでいるが、コード生成の課題についての話。
TIL 😍 https://t.co/q65eZqb8Za pic.twitter.com/2cSgDSs71n
— Alexandre Mutel (@xoofx) October 19, 2022
ソリューションエクスプローラーの「すべてのファイルを表示」すると、SDK などで読み込んでいる targets や props 等を確認できるという小技。
On delivering a 3GB file via multiple nuget packages that stitch together on restore:
— Don Syme (@dsymetweets) October 18, 2022
"It's the greatest hack of my life. The one I want written up in the great book of hacks that gets read in hack heaven. Alongside all the other times a large file hack has been played... 1/2
分割されたトータル 3GB の NuGet パッケージの話。
If there's one thing I don't like, it's exceptions that are caught but are hiding another issue (or could be avoided in favor of a simpler check). The Mono debugging API make it incredibly easy to programmatically monitor your Unity Game/Editor: https://t.co/K5yU8SDIcG pic.twitter.com/AXTmbZ5XIB
— Jb Evain (@jbevain) October 22, 2022
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
スタック上に防衛的コピーされた値の参照を返して本来できないはずのアクセスができてしまうコードが書けるというコンパイラーのバグ。