2023-05-21: Visual Studio 2022 version 17.6, .NET 8 Preview 4, Rx.NET v6.0

Published on Sunday, 21 May 2023

トピックス

Visual Studio 2022 - 17.6 Now Available - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-6-now-available/

Visual Studio 2022 version 17.6 がリリースされた。

  • 生産性の向上
    • パフォーマンスの改善
      • ソリューションのオープン、クローズの速度向上
      • Performance Profiler の収集の停止時速度向上
    • エディターの強化
      • スティッキースクロール
      • All-in-One 検索
      • ブレースペアの色付け
      • スペルチェッカー
    • デバッグと診断機能
      • ブレークポイントグループ
      • .NET リモートデバッグ
      • Visual Studio プロファイラー
      • Visual Studio プロファイラーでのインストルメンテーション
    • Git コラボレーションツール
      • マージダイアログの改善
      • Git 行アンステージング
      • GitHub Issues へのリンク
  • モダン .NET とクラウドネイティブアプリの構築
    • Android Manifest Editor
    • JavaScript/TypeScript での CodeLens
    • JavaScript/TypeScript のシンタックスハイライト
    • ASP.NET Core の Web API 開発
  • ゲーム開発の効率化
    • Unreal Engine ログビューア
    • Tim Jones による HLSL ツール拡張
  • C++ クロスプラットフォームコードベースの持ち込み
    • CMake デバッガー
    • Unix 向けリモートファイルエクスプローラー
    • STM32CubeIDE プロジェクトのインポート
    • Vcpkg
  • エンタープライズ管理
    • 組織によるイントラネットウェブサイトでの Visual Studio レイアウトのホストとデプロイ
    • リポジトリーの任意の場所で複数の .vsconfig をサポート

Announcing .NET 8 Preview 4 - .NET Blog

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

  • MSBuild: New, modern terminal build output
  • MSBuild: 新しい、モダンなターミナルビルド出力
  • SDK: 出力パスの単純化のアップデート
    • artifacts
  • テンプレートエンジン: Nuget.org からのパッケージのセキュアな体験
  • NuGet: Linux での署名されたパッケージの検証
  • NuGet: セキュリティー脆弱性に関するパッケージ依存関係の監査
  • ライブラリー: UTF-8 サポートの改善
    • IUtf8SpanFormattable
  • 時刻の抽象化の導入
    • TimeProvider
  • System.Runtime.Intrinsics.Vector512 と AVX-512
  • Native AOT の改善
  • Linux distro バージョンサポート
  • System.Text.Json: 読み取り専用メンバーの収集
  • System.Text.Json 改善
    • JsonSerializer.IsReflectionEnabledByDefault
    • JsonSerializerOptions.TypeInfoResolverChain
    • JsonSerializerOptions.TryGetTypeInfo
  • コード生成
    • 連続したレジスターの割り当て
    • 最適化された ThreadStatic フィールドアクセス
    • Arm64
    • コードのベクトル化

EF Core 8 Preview 4: Primitive collections and improved Contains - .NET Blog

https://devblogs.microsoft.com/dotnet/announcing-ef8-preview-4/

Entity Framework Core 8 Preview 4 がリリースされた。

このリリースでは LINQ 内での Contains の変換のサポート、OPENJSON のサポート、接続先 SQL Server の互換性レベルの指定、プリミティブコレクションのカラムサポートなどが含まれている。

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

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

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

  • Blazor
    • Blazor コンポーネントのストリーミングレンダリング
    • Blazor SSR のフォーム送信のハンドリング
    • Blazor での名前付き要素へのルート
    • Blazor WebAssembly アプリの Webcli パッケージング
  • API オーサリング
    • Minimal APIs でのフォームバインディングの拡張サポート
    • .http ファイルを含む API プロジェクトテンプレート
  • Native AOT
    • コンパイル時生成 Minimal APIs でのロギングと例外ハンドリング
    • ASP.NET Core トップレベル API のトリム警告アノテーション
    • 構成可能な HTTPS サポートでのアプリサイズの削減
    • Worker サービステンプレートの更新
    • スリムビルダーに構成されたデフォルトのサービスの追加
    • API テンプレート JSON 構成の変更
    • コンパイラー生成 IAsyncEnumerable の特殊な型の JSON シリアライズサポート
  • 認証と認可
    • アイデンティティ API エンドポイント
    • IAuthorizationRequirementData でのカスタム認可ポリシーのサポート向上
  • ASP.NET Core メトリクス

Rx.NET v6.0 Now Available | endjin

https://endjin.com/blog/2023/05/rx-dotnet-v6-released

Rx.NET v6.0 がリリースされた。

このリリースでは .NET 6/7 のサポートやトリミングのサポート、snupkg を使用したシンボルの提供、その他の改善が含まれている。

記事では Async Rx.NET のアルファ版の案内や v6.0 での更新点について、この先についてといったことについて書かれている。

Visual Studio 2022 17.7 Preview 1 is here! - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-7-preview-1-is-here/

Visual Studio 2022 version 17.7 Preview 1 がリリースされた。

  • 生産性
    • ファイルの比較
    • マルチブランチグラフおよび Git リポジトリの改善
    • テキストのコピーとインデントの削除
    • All-in-One 検索強化
  • .NET とクラウド開発
    • IntelliTest の .NET 6 および .NET Standard でのサポート
    • Blazor WebAssembly の Azure Static Web Apps への発行
  • C++ とゲーム開発
    • Unreal Engine C++ マクロフォーマット
    • Unreal Engine C++ 名前規約チェッカー

Hot Reload Supports Modifying Generics! - .NET Blog

https://devblogs.microsoft.com/dotnet/hot-reload-generics/

ジェネリクスのコードを変更した際のホットリロードが .NET 8 でサポートされることについての解説。

以下のシナリオでのホットリロードがサポートされるようになる。

  • 新しい (静的, インスタンス) メソッドの(非)ジェネリック型への追加
  • 新しい (静的, インスタンス) ジェネリックメソッドの(非)ジェネリック型への追加
  • (非)ジェネリック型の既存の (静的, インスタンス) メソッドの編集
  • (非)ジェネリック型の既存の (静的, インスタンス) ジェネリックメソッドの編集

Client Support for Calling WCF/CoreWCF with System.ServiceModel 6.0 Is Here! - .NET Blog

https://devblogs.microsoft.com/dotnet/wcf-client-60-has-been-released/

WCF/CoreWCF を呼び出す WCF クライアントである System.ServiceModel の 6.0 がリリースされた。

System.ServiceModel は Microsoft によりサポートされる WCF クライアントライブラリー。

このリリースでは NetNamedPipe サポートの追加、.NET Standard および .NET Framework サポートの削除、System.ServiceModel.Duplex および Security の非推奨化といったアップデートが含まれている。

ReSharper and Rider 2023.1.2 – More Bug-fixes Released | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/05/17/rsrp-and-rider-2023-1-2-bug-fixes/

ReSharper と Rider 2023.1.2 がリリースされた。

このリリースでは様々な不具合の修正が行われている。

Xamarin.Forms and Essentials now target Android 13 (in Preview) - Xamarin Blog

https://devblogs.microsoft.com/xamarin/xamarin-forms-essentials-target-android13-preview/

Xamarin.Forms と Essentials が Android 13 をターゲットにできるようになった(プレビュー)。

.NET と .NET MAUI では Android 13 がすでにサポートされている。

Get Ready for Visual Studio at Build 2023: Join Tens of Thousands Online! - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/get-ready-for-visual-studio-at-build-2023-join-tens-of-thousands-online/

5月23日から25日にかけて行われる Microsoft Build 2023 での Visual Studio に関連するセッションなどの紹介。

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

Object Detection in ML.NET Model Builder - .NET Blog

https://devblogs.microsoft.com/dotnet/object-detection-ml-dotnet-model-builder/

ML.NET Model Builder を使用してオブジェクト検出を行う紹介。

Get started with ChatGPT in .NET - .NET Blog

https://devblogs.microsoft.com/dotnet/get-started-chatgpt-azure-dotnet/

.NET から OpenAI API を使用するシリーズ。ChatGPT (チャットとプロンプト) についての解説。

Sticky Scroll: Stay in the Right Context - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/sticky-scroll-stay-in-the-right-context/

Visual Studio 2022 17.6 で追加されたスティッキースクロール機能の紹介。

Calendar Control from scratch on .NET MAUI

https://dev.to/serhii_korol_ab7776c50dba/calendar-control-from-scratch-on-net-maui-5dh6

.NET MAUI でカレンダーコントロールを一から作ってみるという記事。

Using Octokit.GraphQL to interact with the GitHub discussions API

https://andrewlock.net/using-octokit-graphql-to-interact-with-the-github-discussions-api/

Octokit.GraphQL NuGet パッケージを使用して GitHub ディスカッションの API を使用する方法について。

記事ではディスカッションの取得や作成、レートリミットなどについて解説している。

Integration tests for AWS serverless solution

https://dev.to/ohalay/integration-tests-for-aws-serverless-solution-12aj

AWS サーバーレス構成のアプリケーションを統合テストする方法について。

LocalStack を使用してローカルコンテナーを動かすことでユニットテストを実行する方法を紹介している。

How to Control Visual Studio from an external application - Gérald Barré

https://www.meziantou.net/control-visual-studio-from-an-external-application.htm

COM 経由で Visual Studio のインスタンスを取得し、操作する方法について。

Are compiled queries really efficient on C# EF Core?

https://goatreview.com/are-compiled-queries-efficient-efcore/

Entity Framework Core のコンパイル済みクエリーは効果的なのかどうかについて。

コンパイル済みクエリーは特定のパターンで効果的ではあるがそうでないパターンも多いため、利用にはテストすることやクエリーそのものを見直すことなどをすめてている。

Concurrent Hosted Service Start and Stop in .NET 8 - Steve Gordon - Code with Steve

https://www.stevejgordon.co.uk/concurrent-hosted-service-start-and-stop-in-dotnet-8

.NET 8 の Microsoft.Extensions.Hosting ではホストの起動と停止が並列化されることについて。

記事では開始と停止が並列化されることによる影響や並列化を無効にする方法などを解説している。

.NETのNuGetパッケージからアプリにglobal usingを自動で追加する

https://zenn.dev/nuits_jp/articles/2023-05-15-global-usings

インストールすることで global using が自動で追加されるような NuGet パッケージを作る方法について。

Microsoft Build | Cloud Skills Challenge

https://www.microsoft.com/ja-JP/cloudskillschallenge/build/officialrules/2022

Build 2023 に合わせたキャンペーン。チャレンジを完了することで Microsoft 認定資格試験を一つ無料で受ける権利をもらえる。

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

drasticactions/LLaMAMaui

https://github.com/drasticactions/llamamaui

llama.cpp の .NET MAUI 向けバインディング。

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

Introduction - Rust for C#/.NET Developers

https://microsoft.github.io/rust-for-dotnet-devs/latest/

C#/.NET 開発者向けの Rust 解説ドキュメント。

.NET のものが Rust ではどのように表現されるのかといったことを説明している。

ツイート

ClaimsPrincipal のデバッガー上での表示がマシになるという話。ASP.NET Core のほかの型も対応するとのこと。

AWS FOSS fund が Avalonia UI をスポンサーしたという話。

Deep Dive

API diff between .NET 8.0 Preview 3 and .NET 8 Preview 4 by carlossanlop · Pull Request #8469 · dotnet/core

https://github.com/dotnet/core/pull/8469

.NET 8 Preview 3 から 4 への API の差分