2023-09-03: Visual Studio for Mac Retirement, Windows App SDK 1.4.0, Polly 8.0.0-beta.1

Published on Sunday, 03 September 2023

トピックス

Visual Studio for Mac Retirement Announcement - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/visual-studio-for-mac-retirement-announcement/

Visual Studio for Mac の開発終了のアナウンス。

今後の開発は Visual Studio と Visual Studio Code にフォーカスするため Visual Studio for Mac 17.6 が最終バージョンとなる。12か月後の2024年8月31日までのサポートとなり、今後新機能や新しいフレームワークのサポートなどが追加されることはない。

代替ソリューションとして Visual Studio Code と C# Dev Kit の利用、Mac 上の VM での Visual Studio の利用、クラウド上の VM である Dev Box での Visual Studio の利用などを推奨している。

Release v1.4.0 · microsoft/WindowsAppSDK

https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.4.0

Windows App SDK 1.4.0 がリリースされた。

このリリースでは XAML Island が Experimental ではなくなったほか、ItemsView の追加、DesktopAcrylicController と MicaController の使いやすさの向上などが含まれる。

Release 8.0.0-beta.1 · App-vNext/Polly

https://github.com/App-vNext/Polly/releases/tag/8.0.0-beta.1

Polly 8.0.0-beta.1 がリリースされた。

このリリースではアルファーからベータに向けて API のレビューが行われている。

New .NET Upgrade Assistant version with feature updates and .NET MAUI improvements! - .NET Blog

https://devblogs.microsoft.com/dotnet/upgrade-assistant-august-2023-update/

.NET Upgrade Assistant の8月のアップデートについて。

このリリースではプロジェクトファイルの SDK スタイルへのアップデートのみを行えるようになったほか、.NET MAUI の移行について CLI を使用した macOS でのアップグレードが可能となるなどの改善が行われている。

Join us for JetBrains .NET Day Online ’23 | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/08/30/dotnet-day-online-23/

JetBrains .NET Day Online '23 についてのアナウンス。

JetBrains によるオンラインで .NET に関するセッションを配信するイベントが9月26日に行われる。記事では現時点でのアジェンダを紹介している。

Announcing the New Foundational C# Certification with freeCodeCamp - .NET Blog

https://devblogs.microsoft.com/dotnet/announcing-foundational-csharp-certification/

freeCodeCamp で基礎 C# 認定資格の提供を開始した。

freeCodeCamp はプログラミングなどに関する学習リソースを提供する慈善団体で、今回 C# に関する認定試験が追加された。Microsoft Learn と連携し、試験を認定を取得できる。

Release Diagnostics Release - v7.0.442301 · dotnet/diagnostics

https://github.com/dotnet/diagnostics/releases/tag/v7.0.442301

.NET 診断ツール v7.0.442301 がリリースされた。

このリリースでは dotnet-dump/SOS の不具合が修正されているほか、dumpexception コマンドが追加された。

Announcing Appwrite’s New .NET SDK

https://dev.to/appwrite/announcing-appwrites-new-net-sdk-5028

Appwrite の .NET 向け SDK がリリースされた。

この SDK を使用することで AppWrite のサーバーサイド向けの機能を .NET で利用できるようになる。

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

Not all O(1) operations are considered equal

https://ayende.com/blog/200033-B/not-all-o-1-operations-are-considered-equal?Key=9b63efc3-8651-43b1-a301-6051e87361da

Dictionary のルックアップを減らすために List にしてインデックスを保持するようにするという手段を適用したということについて。

Generate ASCII Art — A Simple How To In C#

https://medium.com/@devleaderca/generate-ascii-art-a-simple-how-to-in-c-1b3f53a972f0

画像から ASCII の文字で濃淡を表現するアスキーアートを生成する方法について。

NET 8 Randomness Guide: Exploring New Methods & Techniques in 2023

https://www.thatamazingprogrammer.com/the-art-of-randomness-in-net-8-new-methods-and-techniques

.NET 8 でのランダムに関する新しい API (GetItem, Shuffle) の紹介。

Mastering Cross-Platform Deployment: Blazor WASM Applications with Electron.js and Auto-Updates via GitHub Actions

https://medium.com/@dejandjenic/mastering-cross-platform-deployment-blazor-wasm-applications-with-electron-js-509dc4338450

Blazor WASM アプリケーションを Electron で自動アップデートを有効にしたパッケージングを GitHub Actions で行う方法について。

C#8.0で導入された配列インデクサの範囲指定がexclusive endな理由 - Qiita

https://qiita.com/jun1s/items/a56b80eb5a2dead6617f

C# 8 での配列インデクサで利用できる配列記法が exclusive end (最後を含まない) 理由についての考察。

LINQ Internals: Speed Optimizations

https://antao-almada.medium.com/linq-internals-speed-optimizations-1d99b53750bb

LINQ のオペレーター内でどのような最適化が行われているかについての紹介。

Form binding in minimal APIs: Exploring the .NET 8 preview - Part 7

https://andrewlock.net/exploring-the-dotnet-8-preview-form-binding-in-minimal-apis/

.NET 8 での Minimal API におけるフォームのバインディングに関する解説。

記事では CSRF 対策トークンの取り扱いや、様々な制限などについても解説している。

C# Lambdas: A Code Teardown

https://ricomariani.medium.com/c-lambdas-a-code-teardown-b345ce255212

C# のラムダを使用したときの機械語レベルでのコードサイズについて。

Azure App Service のアプリケーション設定でオブジェクトや配列を設定する方法

https://zenn.dev/microsoft/articles/app-service-array

Azure App Service のアプリケーション設定で Microsoft.Extensions.Configuration の環境変数設定を通してオブジェクトや配列を設定する方法について。

Measuring Unicode String Lengths with C# | Khalid Abuhakmeh

https://khalidabuhakmeh.com/measuring-unicode-string-lengths-with-csharp

Unicode 文字列の長さを取得する方法について。

9 "hidden" features in Visual Studio that you may not know

https://blog.elmah.io/9-hidden-features-in-visual-studio-that-you-may-not-know/

Visual Studio の隠れた便利機能9つの紹介。

Collecting memory dumps for .NET Core on Kubernetes

https://cezarypiatek.github.io/post/memory-dump-on-kubernetes/

Kubernets 上で動作している .NET アプリケーションからメモリーダンプを取得する手順について。

Compiling Rust for .NET, using only tea and stubbornness!

https://fractalfir.github.io/generated_html/rustc_codegen_clr_v0_0_1.html

Rust を .NET の IL にコンパイルする試みを行っていることついて。

System.Text.Josn で、文字列になってる数値 "Foo":"1" を int Foo {get;set;} に逆シリアル化する方法 | @jsakamoto

https://devadjust.exblog.jp/29682981/

JSON の値として数値が文字列として表現されている場合に、System.Text.Json で数値として変換して受け取る方法について。

Implementing a Feature Flag-based Endpoint Filter

https://timdeschryver.dev/blog/implementing-a-feature-flag-based-endpoint-filter

エンドポイントフィルターでフィーチャーフラグを元に操作する方法ついて。

Struct memory layout optimizations, practical considerations

https://ayende.com/blog/199841-A/struct-memory-layout-optimizations-practical-considerations?Key=a53d68c5-1801-429b-af30-3fd406eabc6e&

class と struct のメモリーレイアウトの違いと最適化について。

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

ツイート

Avalonia UI の Visual Studio Code 用拡張がリリースされた。

sizoscope というツールでバイナリーサイズを確認できるという話。

RPS のようなものを Interlocked.Increment でカウントするとパフォーマンスに影響があるという話。

.NET 8 の Keyed Service を利用して HttpClient を直接解決する方法。