2023-06-25: grpc-dotnet v2.54.0, Microsoft Forms Service’s Journey to .NET 6, ReSharper & Rider 2023.1.3

Published on Sunday, 25 June 2023

トピックス

Release Release v2.54.0 · grpc/grpc-dotnet

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

grpc-dotnet (gRPC for .NET) v2.54.0 がリリースされた。

このリリースでは認証インターセプターでの CancellationToken のサポートをはじめいくつかの改善と不具合の修正が含まれている。

Microsoft Forms Service’s Journey to .NET 6 - .NET Blog

https://devblogs.microsoft.com/dotnet/microsoft-forms-services-journey-to-dotnet-6/

Microsoft Forms (アンケートを作成するサービス) のマイクロサービスを .NET 6 へ移行した事例について。

Microsoft Forms は .NET Framework 4.7.2 の WebForms と Web API で構築されたマイクロサービスであったが、そのフロントエンド REST API とバックエンド REST API サービスを .NET 6 に移行したとのこと。

記事では移行に向けたアプローチと導入の結果を紹介している。移行のアプローチとしては初めに HttpContext の排除、次に依存の更新とプロジェクトの netstandard2.0 や net472, net6.0 といったマルチターゲットビルドへの変更を行った。その際マルチターゲットビルドが増えることによる問題についても紹介している。導入の結果としても CPU 使用率とレスポンスのレイテンシーが大きく改善されたとのこと。

ReSharper and Rider 2023.1.3 – Another Set of Bug-fixes Is Here | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/06/23/rsrp-and-rd-2023-1-3-bug-fix/

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

ReSharper の Visual Studio でのパフォーマンス問題の修正、dotTrace と dotMemory のバグの修正、Rider のアップデータのクラッシュする問題やその他 IDE のバグの修正が含まれている。

What’s New in NPOI 2.6.1

https://tonyqus.medium.com/whats-new-in-npoi-2-6-1-92b5f07c479c

NPOI 2.6.1 がリリースされた。

このリリースではエリアチャートやパイチャートのサポート追加をはじめとしていくつかの改善と不具合の修正が含まれている。

Get ready for fsharpConf 2023! - .NET Blog

https://devblogs.microsoft.com/dotnet/tune-in-for-fsharpconf-2023/

F# のコミュニティーイベントの fsharpConf 2023 の紹介している記事。

fsharpConf 2023 は6月26日に開催される F# のコミュニティーのバーチャルイベント。記事ではイベントのタイムテーブルを紹介している。

Introducing the New T4 Command-Line Tool for .NET - .NET Blog

https://devblogs.microsoft.com/dotnet/t4-command-line-tool-for-dotnet/

Visual Studio 2022 17.6 以降で利用可能となった .NET 向けの T4 のコマンドラインツールの紹介。

Visual Studio 2022 17.6 以降では .NET 6 で動作する新しいバージョンの T4 (Text Template) 実行のコマンドラインツールが同梱されるようになった。

この新しいバージョンのツールは .NET 6 ランタイムで動作することで T4 のテンプレートからモダンな .NET のライブラリーを使用することができるようになる。現時点での制限として IDE から実行と MSBuild Task による実行はサポートされない。

今後に向けてのフィードバックについても求めており、記事からリンクされたアンケートも用意されている。

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

C#のMSTestでFine Code Coverageでカバレッジを計測する - Qiita

https://qiita.com/YoshijiGates/items/efc700574edbf8eb1ab2

Visual Studio 2022 Community でコードカバレッジを確認する方法について。

記事では Fine Code Coverage 拡張機能を導入して確認する方法を紹介している。

How to Build a Flight Network Analysis Graph-Based ASP.NET Application with Memgraph, C#, and D3.js

https://medium.com/memgraph/how-to-build-a-flight-network-analysis-graph-based-asp-net-application-with-memgraph-c-and-d3-js-601d7e7a6bdb

Memgraph というインメモリのグラフ DB を使用し、ASP.NET アプリケーションで D3.js でビジュアライズするツールを構築するチュートリアル。

C# で ChatGPT API: AI で作曲する (Function calling を使用) - Qiita

https://qiita.com/fsdg-adachi_h/items/7b2e75fa916cd6d4d804

ChatGPT の API を活用し AI で作曲、 MIDI ファイルを作成する方法について。

記事では ChatGPT の Function Calling を使用する形で実装している。

Parsing websites in C# with Html Agility Pack or AngleSharp

https://blog.elmah.io/parsing-websites-in-c-with-html-agility-pack-or-anglesharp/

Html Agility Pack と AngleSharp を使用して Web サイトをスクレイピングする方法について。

https://blog.ndepend.com/improved-net-debugging-experience-with-source-link

Source Link による .NET のデバッグ体験の向上についての紹介。

Hash Signing and Signature Validation in C# Using the YubiKey .NET SDK

https://medium.com/@matt.heimlich/hash-signing-and-signature-validation-in-c-using-the-yubikey-net-sdk-dbaa227255dd

YubiKey の .NET SDK を使用して YubiKey を使用したハッシュ署名と署名の検証を行う方法について。

How to Build a Shared Library in Java and Call it From .NET Code

https://medium.com/@sixpeteunder/how-to-build-a-shared-library-in-java-and-call-it-from-dotnet-code-b47c22300456

.NET から共有ライブラリーとしてビルドされた Java のライブラリーを呼び出す方法について。

記事では GraalVM でネイティブライブラリーにビルドされたものを C 言語によるラッパーを通して .NET から呼び出す形を紹介している。

C#で作成したAWS Lambdaの関数をGitHub Actionsで自動デプロイする - Qiita

https://qiita.com/shin4488/items/20660044f6c86cfdead2

.NET の AWS Lambda 関数を GitHub Actions からデプロイする方法について。

NCMBのC#(MAUI/Xamarin) SDKがプッシュ通知の操作に対応しました - Qiita

https://qiita.com/goofmint/items/585b63dcb6374382afb1

ニフクラ mobile backend (NCMB) のコミュニティーによる SDK でプッシュ通知の操作に対応したことと使い方について。

XIAO ESP32C3で始めるnanoFramework ADC

https://zenn.dev/matsujirushi/articles/8bdbccd464d571

Seeed Studio XIAO ESP32C3 で nanoFramework を使用して ADC の値を読み取る方法について。

Xamarin.Macに別れを告げ、.NET 7に移行した話

https://zenn.dev/dogfortune/articles/51d1b2aa17be27

Xamarin.Mac から .NET 7 に移行作業でのポイントをいくつかまとめた記事。

.NET on Power を動かしてみた話 #4 - MariaDBへODBCドライバを使用して接続 - Qiita

https://qiita.com/Nakaji1106/items/429034b3707c65c4d6ff

Power アーキテクチャーで .NET を動かし、MariaDB に ODBC ドライバーで接続してみたという記事。

アプリをMicrosoft Storeに提出してみる - Qiita

https://qiita.com/dhq_boiler/items/781b2ef98ce26a090566

アプリケーションを Microsoft Store に提出し、公開されるまでの流れについての解説。

Reset passwords in ASP.NET Core using delegated permissions and Microsoft Graph

https://damienbod.com/2023/06/19/reset-passwords-in-asp-net-core-using-delegated-permissions-and-microsoft-graph/

ASP.NET Core アプリケーションから Microsoft Graph を使用してユーザーのパスワードをリセットする方法について。

Getting the .NET Desktop Runtime Installed with a Custom Runtime Checker and Installer

https://weblog.west-wind.com/posts/2023/Jun/21/Creating-a-Runtime-Checker-and-Installer-for-a-NET-Core-WPF-Application

.NET ランタイムのインストール状況をチェックし、インストールするカスタムインストーラーについて。

記事ではランタイムの配布について、自己完結型配布について、共有ランタイムについて、インストーラーの実装解説といった内容が解説されている。

WSL2の .NET SDKが認識されない現象を修復する - kkamegawa's weblog

https://kkamegawa.hatenablog.jp/entry/2023/06/24/191525

WSL 2 で .NET SDK が正常に認識されなくなった場合のトラブルシューティングについて。

Validating nested DataAnnotation IOptions recursively with MiniValidation

https://andrewlock.net/validating-nested-dataannotation-options-recursively-with-minivalidation/

IOptions の検証として標準の ValidateDataAnnotations を使用した場合、ネストされた検証が行われない問題を回避する方法について。

記事では MiniValidation を使用して検証する方法を紹介している。

Windowsインストーラーを作れるwixtoolsetの概要(v4) - Qiita

https://qiita.com/skitoy4321/items/194888be042e5c4c32ad

WiX v4 についての概要をまとめた記事。WiX で使用されるファイルやビルド方法といったことを解説している。

C# 12.0 の新機能 | ++C++; // 未確認飛行 C ブログ

https://ufcpp.net/study/csharp/cheatsheet/ap_ver12/

C# 12 (現時点ではプレビュー) で導入される新機能の解説。

.NET の文字列比較でカルチャー未指定を検知する | ++C++; // 未確認飛行 C ブログ

https://ufcpp.net/blog/2023/6/ca-specify-culture/

文字列比較でカルチャーが未指定の場合に警告/エラーとするようにして事前に気づけるようにする方法について。

記事では .NET 5 で導入された NetAnalyzers と .editorconfig を使用してエラーにする手法を紹介している。

Announcing Create a Pull Request in Visual Studio - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/create-a-pull-request-in-visual-studio/

Visual Studio 2022 17.7 preview 2 で追加された Pull request の作成機能の紹介。

How to detect heap allocations

https://bartwullems.blogspot.com/2023/06/how-to-detect-heap-allocations.html

ヒープアロケーションを検出する方法について。

記事では Visual Studio のプロファイラーと ClrHeapAllocationAnalyzer を使用したコード上での検出を紹介している。

Treat your .NET Minimal API Endpoint as the application layer

https://timdeschryver.dev/blog/treat-your-net-minimal-api-endpoint-as-the-application-layer

ASP.NET Core の Minimal API をアーキテクチャー上のアプリケーション層としてあつかう構成について。

How does List work under the hood in .NET?

https://steven-giesel.com/blogPost/06e2c8e8-0119-4e8d-9227-3cb922a8c916

List<T> の内部の実装についての簡単な解説。

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

ツイート

Visual Studio 2022 17.6 では GC や CPU が高負荷な状況をテレメトリーで見るようになったという話。

続くスレッドではどのような体制でどのように活用できているのかを説明している。