2024-01-24: ReSharper & Rider 2023.3.3, MySQL Connector 2.3.5, Avalonia 11.0.7, StackExchage.Redis 2.7.17

Published on Wednesday, 24 January 2024

トピックス

Another Set of Bug-fixes for ReSharper and Rider 2023.3 Is Here! | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/01/22/2023-3-3-rsrp-rd/

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

このリリースではリネームやスペルチェック、QuickFix などでいくつかの不具合が修正されている。

Release 2.3.5 · mysql-net/MySqlConnector

https://github.com/mysql-net/MySqlConnector/releases/tag/2.3.5

MySQL Connector 2.3.5/2.3.4 がリリースされた。

このリリースでは TLS バージョンフォールバックの削除、NuGet パッケージの DLL のデジタル署名対応、その他いくつかの不具合が修正されている。

Release 11.0.7 · AvaloniaUI/Avalonia

https://github.com/AvaloniaUI/Avalonia/releases/tag/11.0.7

Avalonia 11.0.7 がリリースされた。

このリリースではメモリーリークや XAML コンパイラーのエラー、様々な不具合の修正が含まれている。

Release 2.7.17 · StackExchange/StackExchange.Redis

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

StackExchage.Redis 2.7.17 がリリースされた。

接続のシャットダウン中の NullReferenceException の防止、トランザクションのコマンドマップ内の SELECT コマンドの祖雲長などいくつかの不具合が修正されている。

Release v8.0.0 · autofac/Autofac

https://github.com/autofac/Autofac/releases/tag/v8.0.0

Autofac 8.0.0 がリリースされた。

このリリースではターゲットフレームワークに .NET 8 が追加され、.NET Core 3.1 が削除された。

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

.NET Framework January 2024 Cumulative Update Preview - .NET Blog

https://devblogs.microsoft.com/dotnet/dotnet-framework-january-2024-cumulative-update-preview/

2024年1月の .NET Framework の累積アップデートがプレビューリリースされた。

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

.NET 8 — New Data Annotations

https://henriquesd.medium.com/net-8-new-data-annotations-4434575db48b

.NET 8 で新しく追加された System.ComponentModel.DataAnnotations の属性についての紹介。

Elevate Your Git and GitHub Skills in Visual Studio with the Intermediate and Advanced Series - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/intermediate-and-advanced-git/

Visual Studio での Git と GitHub のスキルを高めるための動画シリーズの紹介。

Avoiding performance pitfalls in incremental generators: Creating a source generator - Part 9

https://andrewlock.net/creating-a-source-generator-part-9-avoiding-performance-pitfalls-in-incremental-generators/

Incremental Source Generator のパフォーマンスの落とし穴を回避することについての解説。

記事ではどのようなパターンで実行され、Source Generator の API を使用する際にパフォーマンスを前提に注意すべき点などを開設している。

Testing your incremental generator pipeline outputs are cacheable: Creating a source generator - Part 10

https://andrewlock.net/creating-a-source-generator-part-10-testing-your-incremental-generator-pipeline-outputs-are-cacheable/

Incremental Source Generator のパイプライン出力をキャッシュ可能にする方法についての解説。

【Rider】SourceGeneratorをデバッグする方法 - Qiita

https://qiita.com/amenone_games/items/0a99f38fd08911b62c3a

JetBrains Rider で Source Generator をデバッグする方法について。

Visual Studio productivity features in 2023 - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/visual-studio-productivity-features-in-2023/

2023年にリリースされた Visual Studio 2022 の生産性に関連する機能のまとめ紹介記事。

Analyzing WPF performance by enabling ETW | endjin

https://endjin.com/blog/2024/01/wpf-performance-enable-etw

ETW で WPF のパフォーマンスを計測する手順の解説。ETW からデータを取得し、PerfView で表示するといった方法について。

Porting Assistant for .NET CLI を使って未対応のコンポーネントに対応させる - Qiita

https://qiita.com/miyamocchi/items/99c098ebab1c4f8053f9

AWS の Porting Assistant for .NET で未対応な ASP.NET のコントロールを処理できるようにする手順について。

Windowsエクスプローラーに存在しないファイルをドロップする(Part1) - Qiita

https://qiita.com/miswil/items/b97dd4914a335fa21790

アプリケーションから実ファイルではないデータをエクスプローラーなどのドロップターゲットに渡す方法についての解説。

1BRC in .NET among fastest on Linux: My Optimization Journey

https://hotforknowledge.com/2024/01/13/1brc-in-dotnet-among-fastest-on-linux-my-optimization-journey/

The One Billion Row Challenge (いろいろな実装での10億行のデータを集計するチャレンジ) で .NET による実装の最適化手法についての解説。

Welcome to the ReSharper 2024.1 Early Access Program | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/01/19/resharper-2024-1-eap1/

ReSharper 2024.1 EAP のアナウンス。

2024.1 EAP 1では C++ サポートにフォーカスした改善が含まれている。

C# のプライマリー コンストラクターに属性を設定したい

https://zenn.dev/microsoft/articles/primary-constructor-attr

C# 12 のプライマリーコンストラクターのメソッドそのものに属性を指定する方法について。

17.9 Preview 3 brings exciting changes to Code Search - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/17-9-preview-3-brings-exciting-changes-to-code-search/

Visual Studio 2022 17.9 Preview 3 でのコード検索のテキスト検索に関する強化についての紹介。

Interceptors – Using C# 12 in Rider and ReSharper | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/01/16/interceptors-using-csharp-12-in-rider-and-resharper/

C# 12 のプレビュー機能である Interceptor を Rider と ReSharper のサポートについての紹介。

Rider と ReSharper では Interceptor の対象にインレイヒントを表示できる。

Building a self-contained game in C# under 2 kilobytes

https://migeel.sk/blog/2024/01/02/building-a-self-contained-game-in-csharp-under-2-kilobytes/

C# で 2KB の自己完結型(ランタイム不要)のゲームアプリケーションを実現する手法について。

How to use IAsyncEnumerable with Blazor Stream Rendering

https://khalidabuhakmeh.com/how-to-use-iasyncenumerable-with-blazor-stream-rendering

Blazor で IAsyncEnumerable からの値をレンダリングする方法について。

Mocking GraphQL queries with WireMock.NET

https://cezarypiatek.github.io/post/mocking-graphql-with-wiremock/

WireMock.NET を使用して GraphQL クエリーのモックを実現する方法について。

配列を初期化する (List, IList, ImmutableArray, etc. も初期化する) 《C#12》《コレクション式》 - Qiita

https://qiita.com/muniel/items/8af5b337d9bbbfbd2812

C# 12 のコレクション式について。記述の仕方、利用できるパターン、できないパターンなどについて触れている。

Blazor Serverで.NET 7から.NET 8への移行方法 - Qiita

https://qiita.com/yaju/items/762d48ecda8b9c59279a

Blazor Server を .NET 7 から .NET 8 へ移行した際に発生した問題とその対応方法について。

.NET 8 で WinUI 3 アプリをビルドする(NETSDK1083 対策)

https://zenn.dev/shinta0806/articles/dotnet8-netsdk1083

.NET 8 で WinUI 3 アプリケーションをビルドする際に発生する場合のあるエラーとその対処方法について。

Exploring .NET frozen segments

https://minidump.net/exploring-frozen-segments/

.NET 8 で導入された GC 対象外となるヒープが存在する固定されたセグメントを非公開な API を使用して使って解説する記事。

.NET Continuous Profiler: Under the Hood | Datadog

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

.NET のプロファイラーのアーキテクチャーとどのような実装を行っているのかの簡単な解説。

neue cc - .NETプロジェクトとUnityプロジェクトのソースコード共有最新手法

https://neue.cc/2024/01/15_shareprojectinunity.html

.NET プロジェクトと Unity のプロジェクト間でソースコードを共有する手法。NuGet パッケージ開発時に Unity から参照する方法についても。

イベント

昼休みに C# で Blazor WebAssembly 製の web アプリをイチから作る配信 (2024/02/09 12:00〜)

https://msdevjp.connpass.com/event/308241/

比較的短い時間で C# と Blazor WebAssembly で Web アプリケーションを作成するという配信。

Let's Learn .NET (初心者向けの配信シリーズ) の日本ローカライズ版相当とのこと。

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

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

Learn Reactive Programming for FREE: Introduction to Rx.NET 2nd Edition (2024) | endjin

https://endjin.com/blog/2024/01/introduction-to-rx-dotnet-2nd-edition-book-available-for-free

Introduction to Rx.NET 2nd Edition の eBook。

ツイート

C++ アプリケーションのプロジェクトから NativeAOT の C# ライブラリーを参照する構成を試みる。

Visual Studio のツールウィンドウはドッキング/フロート状態で Ctrl + ダブルクリック で元の位置に移動できるという話。

Visual Studio の Disamo 拡張 (JIT の結果を表示できる) でカスタムランタイムなしで NativeAOT をサポート。