2024-02-23: grpc-dotnet v2.61.0, Visual Studio 2022 17.10 Preview 1, StackExchange.Redis 2.7.20

Published on Friday, 23 February 2024

トピックス

Release Release v2.61.0 · grpc/grpc-dotnet

https://github.com/grpc/grpc-dotnet/releases/tag/v2.61.0

grpc-dotnet v2.61.0 がリリースされた。

このリリースではいくつかの不具合の修正のほか、gRPC のリッチなエラーモデルに対応する Grpc.StatusProto の追加などが含まれる。

Introducing Visual Studio 17.10 – Preview 1 is Here! - Visual Studio Blog

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

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

  • 生産性の強化
    • GitHub Copilot Chat
      • コンテキストの理解
      • 共通タスクのためのスラッシュコマンド
      • インラインチャット
    • 新しく、モダンな体験の統合された設定でのカスタマイズ
    • Git コミットメッセージ生成のアップデート
    • Pull request に対する Work Item のリンク ー Visual Studio 更新での推奨コンポーネント追加
  • デバッグと診断
    • 条件付きブレークポイントとトレースポイントでのデバッグの強化
    • メモリーツールにおけるメモリー使用調査のシンプル化
    • EXE のターゲットインストルメンテーション
    • プロセスへアタッチダイアログの刷新
  • C++ とゲーム開発
    • CMake ターゲットのピン止め
    • Build Insights テンプレートビュー
    • Unreal Engine マクロのインデントの追加
    • Visual Studio 統合ツールプラグインのバックグラウンド実行
  • Teams と Microsoft 365 開発
    • AI を活用した Teams Bot の開発
    • Teams Bot のオフライン実行とデバッグ
    • Copilot for Microsoft 365 の拡張

Release 2.7.20 · StackExchange/StackExchange.Redis

https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.7.20

StackExchange.Redis 2.7.20 がリリースされた。

このリリースでは Alibaba Cloud のような multi-DB pseudo-cluster/proxy をサポートする対応が行われている。

WinForms in a 64-Bit world - our strategy going forward - .NET Blog

https://devblogs.microsoft.com/dotnet/winforms-designer-64-bit-path-forward/

WinForms の 64bit 対応、主に Visual Studio のデザイナーについて。

記事では Visual Studio とデザイナーを 64bit に対応することのメリットと困難、Out-of-Process デザイナーに移行したこと、32bit .NET Framework アプリケーション向けのデザイナーの Out-of-Process 化、17.9 までに行われたレガシーコンポーネントへの対応と今後の予定について触れている。

One Year of Avalonia XPF - Revolutionising WPF development

https://avaloniaui.net/Blog/one-year-of-avalonia-xpf-revolutionising-wpf-development

Avalonia XPF をリリースして1年の振り返りについて。

記事では今後のプラットフォーム展開についてや、小規模開発者向けの Indie ライセンスの提供についてもアナウンスされている。

JetBrains Rider and the .NET Aspire Plugin | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/02/19/jetbrains-rider-and-the-net-aspire-plugin/

JetBrains Rider の .NET Aspire プラグインの紹介。

記事では .NET Aspire の簡単な紹介と、Rider でのプラグインのインストールから使用方法について紹介している。

.NET Aspire プラグインでは Rider IDE 上で OpenTelmetry メトリクスを表示できるほか、記事ではどのようにして .NET Aspire とプラグインがやり取りしているのかといった点も解説している。

Important changes coming for .NET Framework 3.5 and 4.5 targets of the AWS SDK for .NET | Amazon Web Services

https://aws.amazon.com/jp/blogs/developer/important-changes-coming-for-net-framework-3-5-and-4-5-targets-of-the-aws-sdk-for-net/

AWS SDK for .NET の .NET Framework サポートバージョンについてのアナウンス。

2024年8月15日から AWS SDK for .NET は .NET Framework 3.5 と 4.5 のサポートを終了し、最小サポートバージョンは 4.6.2 からとなる。記事では決定に至ったモチベーションについても書かれている。

Release 8.0.7 · dotnet/maui

https://github.com/dotnet/maui/releases/tag/8.0.7

.NET MAUI 8.0.7 がリリースされた。

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

.NET Framework February 2024 Security and Quality Rollup Updates - .NET Blog

https://devblogs.microsoft.com/dotnet/dotnet-framework-february-2024-security-and-quality-rollup-updates/

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

このリリースではセキュリティーに関する新しい修正は含まれず、品質と信頼性のアップデートのみが含まれる。

ASP.NET MVC のリクエスト処理中に ArgumentException がスローされる問題の修正、zlib ライブラリーのバージョンが古い問題の対処などが含まれる。

Introducing ASP.NET Core metrics and Grafana dashboards in .NET 8 - .NET Blog

https://devblogs.microsoft.com/dotnet/introducing-aspnetcore-metrics-and-grafana-dashboards-in-dotnet-8/

.NET 8 の ASP.NET Core のメトリクスに対応した Grafana ダッシュボードが公開された。

この Grafana ダッシュボードは ASP.NET Core の各種メトリクスをあらかじめ表示できるように構成したものとなっている。

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

[アップデート] AWS Lambda のマネージドランタイムで .NET 8 が使えるようになりました | DevelopersIO

https://dev.classmethod.jp/articles/lambda-dotnet-8/

AWS Lambda で .NET 8 ランタイムが利用できるようになったことについて。

記事では .NET 8 ランタイムで動作する Lambda 関数を作成、デプロイするところまで触れている。

A Streamlined Extension Manager comes to Visual Studio 17.9 - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/a-streamlined-extension-manager-comes-to-visual-studio-17-9/

Visual Studio の新しい拡張マネージャーが Visual Studio 17.9 にプレビューとして導入されていることについて。

新しい拡張マネージャーは UI が刷新され、詳細が大きく表示され、検索フィルターといったものが使用できるようになっている。新しい拡張マネージャーはプレビュー機能のため、オプションから設定することで利用できる。

How To Use AI Assistant to Generate Test Data For .NET Applications | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/02/21/jetbrains-ai-assistant-generate-test-data-for-dotnet/

JetBrains AI アシスタントを使用してユニットテストのテストデータを作成してテストする方法について。

C#のGraphQLサーバー構築 【HotChocolate 】 - Qiita

https://qiita.com/te-k/items/d0b153a8bb5075ab93fe

HotChocolate を使用した GraphQL サーバーを実装する方法について。

記事では Mutation や null 許容についても触れている。

Onboarding Stripe Connect Express accounts in ASP.NET Core

https://dev.to/stripe/onboarding-stripe-connect-express-accounts-in-aspnet-core-3p0a

ASP.NET Core アプリケーションを Stripe Connect と Stripe Billing と統合する例について。

記事では架空のサービスを想定して設定や課金の実装といったものを進めている。

VisualStudio.Extensibility: Install extensions without restarting Visual Studio! - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/visualstudio-extensibility-17-9/

Visual Studio の新しい拡張モデル VisualStudio.Extensibility の再起動なしのインストールをはじめとした新機能について。

  • 拡張機能を Visual Studio Marketplace に発行する
  • ホットロード: Visual Studio の再起動なしの拡張インストール
  • 構成プロパティを使用して拡張を簡単に構成
  • より良いデバッグのためにドッキング可能なカスタムデータビジュアライザーの作成
  • 拡張への Language Server Protocol (LSP) サポートの追加
  • 拡張されたクエリー API でのプロジェクトシステムのクエリー

Using named pipes with ASP.NET Core and HttpClient

https://andrewlock.net/using-named-pipes-with-aspnetcore-and-httpclient/

ASP.NET Core と HttpClient を Windows の名前付きパイプで使用することについて。名前付きパイプを使用する理由とサーバーおよびクライアントで使用する方法について書かれている。

Developing Optimized GitHub Actions with .NET and Native AOT - .NET Blog

https://devblogs.microsoft.com/dotnet/developing-optimized-github-actions-with-net-and-native-aot/

.NET で GitHub Actions のアクションを作り、Native AOT でビルドする上での問題点と解決について。

.NET Aspire Preview 3: Expanded Component Support with Azure OpenAI, MySQL, CosmosDB, Kafka and More

https://www.infoq.com/news/2024/02/dotnet-aspire-preview3-released/

.NET Aspire Preview 3 での変更点についての解説。

IronPython との付き合いかた - Qiita

https://qiita.com/Mt_SQ/items/ddbcf39c19ad6591bd96

IronPython を使用する上での Python/.NET との相互運用などについて。

Reading Raw ASP.NET Request.Body Multiple Times

https://weblog.west-wind.com/posts/2024/Feb/20/Reading-Raw-ASPNET-RequestBody-Multiple-Times

ASP.NET Core で通常一度しか読み取れないリクエストボディを複数回読み込む方法について。

Monorepo for .NET and NodeJS workspaces

https://mykeels.medium.com/monorepo-for-net-and-nodejs-workspaces-dca7716c16c6

.NET と NodeJS プロジェクトの両方を含むモノレポの構成について。

Dumping the managed heap in C#

https://minidump.net/dumping-the-managed-heap-in-csharp/

C# からマネージヒープのメモリーをダンプしてみるという試み。

記事では WinDbg の dumpheap -stat 相当の表示ができるようにヒープを手繰るといったことも試みている。

ASP.NET Core アプリケーションへ Azure Monitor OpenTelemetry Distro を導入してみた | DevelopersIO

https://dev.classmethod.jp/articles/azure-monitor-opentelemetry-distro-aspnetcore/

ASP.NET Core アプリケーションから Application Insights に対して OpenTelemetry 経由でデータを送信する方法について。

.NET Threadless Process Injection

https://vovohelo.medium.com/net-threadless-process-injection-6c389a9ce585

.NET プロセスに対するコードインジェクションを JIT コードをもとに行う手法について。

Eliminate passwords with FIDO2 in ASP.NET Core

https://codezen.medium.com/eliminate-passwords-with-fido2-in-asp-net-core-87b6775b6ca7

ASP.NET Core で FIDO2 によるパスワードレスを実装する方法について。

C# で Reciprocal Rank Fusion (RRF) を実装する

https://zenn.dev/karamem0/articles/2024_02_16_180000

フルテキスト検索とベクター検索のような複数の検索結果を結合してスコアリングする Reciprocal Rank Fusion (RRF) を実装する方法について。

Running .NET in the Browser without ASP.NET

https://medium.com/@muratkirazkaya/running-net-in-the-browser-without-asp-net-89493ab24e10

Blazor や ASP.NET Core をなしに、WebAssembly にビルドした .NET アプリケーションをブラウザーで動かす方法について。

.NET Continuous Profiler: CPU and Wall Time Profiling | Datadog

https://www.datadoghq.com/ja/blog/engineering/dotnet-continuous-profiler-part-2/

Datadog プロファイラーの内部についての解説記事。

CPU とウォールタイムのプロファイリングの詳細やプロファイラーの OS ごとの実装について書かれている。

ジェネリック型引数の部分型推論 | C; // 未確認飛行 C ブログ

https://ufcpp.net/blog/2024/2/partial-inference/

C# でもジェネリック型の部分型推論ができるようにしたいという話があることについて。

Rider 2024.1 EAP 5: Collections Visualizer, Sticky Lines, Improved GitHub Actions Support, and More | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/02/16/rider-2024-1-eap-5/

Rider 2024.1 EAP 5 がリリースされた。

このリリースではコレクションビジュアライザー、エディターでの行スティッキー、GitHub Actions サポートの改善、デコンパイラーの改善、型依存ダイアグラムの改善が含まれている。

.NET Aspire Preview 3 — Integrating Node.Js Apps into a .Net Aspire Application

https://medium.com/@malarsharmila/net-aspire-preview-3-integrating-node-js-apps-into-a-net-aspire-application-071b1c37189d

.NET Aspire Preview 3 で React アプリケーションを統合する手順について。

dotInsights | February 2024 | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/02/07/dotinsights-february-2024/

JetBrains による2024年2月の .NET 関連トピックのまとめ。

Rider Splash Screens for EAPs (Early Access Pets) | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/02/14/rider-splash-screens-for-eaps-early-access-pets/

JetBrains Rider のナイトリービルドで使われているスプラッシュスクリーンの紹介。それらのナイトリービルドではペットの写真が使われている。

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

Codeer-Software/Excel.Report.PDF

https://github.com/Codeer-Software/Excel.Report.PDF

Excel から PDF ファイルを生成するライブラリー。

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

ツイート

Deep Dive

Optimize BigInteger.Divide by kzrnm · Pull Request #96895 · dotnet/runtime

https://github.com/dotnet/runtime/pull/96895

BigInteger.Divide を Burnikel-Ziegler 法で最適化するという PR。