トピックス
WiX v4.0.0 | Release notes | WiX Toolset
https://wixtoolset.org/docs/releasenotes/#v4
WiX v4.0.0 がリリースされた。
このバージョンでは ARM64 のサポートや NuGet によるツールの提供といった様々な改善が含まれている。
ReSharper 2023.1 Comes With Enhanced C# Support, Exciting Updates for C++, and More! | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2023/04/05/resharper-2023-1/
ReSharper 2023.1 がリリースされた。
このリリースではコレクションの複数回のルックアップを修正する QuickFix や null チェックパターンの Syntax style の導入、ショートカットやアップデートのダイアログの改善などが含まれている。
またこのバージョンから Visual Studio 2010 および 2012 のサポートが廃止されている。
dotCover, dotMemory, dotPeek, and dotTrace 2023.1 Release! | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2023/04/05/dottools-2023-1-release/
dotCover, dotMemory, dotPeek, dotTrace 2023.1 がリリースされた。
dotTrace は Linux と macOS 向けのスタンドアローン版がベータとして利用できるようになったほか、様々な改善が行われている。
Improvements to auth and identity in ASP.NET Core 8 - .NET Blog
https://devblogs.microsoft.com/dotnet/improvements-auth-identity-aspnetcore-8/
.NET 8 の ASP.NET Core における認証と ID 管理について。
.NET 8 の SPA テンプレートからは IdentityServer への依存が削除されること、セルフホストの認証の改善点について触れている。
ASP.NET Core Route Tooling Enhancements in .NET 8 - .NET Blog
https://devblogs.microsoft.com/dotnet/aspnet-core-route-tooling-dotnet-8/
.NET 8 の ASP.NET Core のルーティングのツール強化について。
- ルートのシンタックスハイライト
- パラメーターとルート名の補完
- ルート制約の補完
- ルートの Analyzer と CodeFix
- Minimal APIs と Web API、Blazor のサポート
Release ILSpy 8.0 Preview 4 · icsharpcode/ILSpy
https://github.com/icsharpcode/ILSpy/releases/tag/v8.0-preview4
ILSpy 8.0 Preview 4 がリリースされた。
このリリースではテーマの追加や様々な不具合の修正が行われている。
アーティクル、スライドなど
Receive and Test Incoming Webhooks in an ASP.NET Core Minimal API: A Comprehensive Guide
https://www.christianfindlay.com/blog/asp-dotnet-core-minimal-webhooks
ASP.NET Core の Minimal API でリクエストを受信する Webhook の実装、テストを行う手順の解説。
Visual Studio Toolbox: Debug Threads & Tasks with Parallel Stacks - Visual Studio Blog
スレッドと並列スタックのデバッグツールの紹介動画。
How to Create a NuGet Package for Both Desktop and Mobile Development
https://dev.to/yushulx/how-to-create-a-nuget-package-for-both-desktop-and-mobile-development-5e61
デスクトップ向けに加えて Android や iOS 向けのバインディングライブラリーを含むような NuGet パッケージを作る方法について。
[C#11] Generic MathでOpenCVのsaturate_castを模す
https://zenn.dev/shimat/articles/daab88eea9c41f
OpenCV の saturate_cast 関数のようなメソッドを Generic Math を使用して実装してみるという記事。
【C#】dotnet user-jwts はいいぞ。 - ねののお庭。
https://blog.neno.dev/entry/2023/04/07/165241
ASP.NET Core での開発時に JWT を使用する場合にローカル開発環境で使用できる JWT を簡単委に生成できる user-jwts ツールについての紹介。
.NET Annotated Monthly | April 2023 | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2023/04/06/net-annotated-monthly-april-2023/
JetBrains による .NET 関連情報まとめ4月号。
ArrayPool in depth
https://medium.com/@epeshk/arraypool-t-ea90cb24b87f
ArrayPool の内部実装についての解説。
Improved Windows Broker Support with MSAL.NET | Microsoft Entra Identity Developer Blog
https://devblogs.microsoft.com/identity/improved-windows-broker-support-with-msal-net/
MSAL.NET での Windows 環境における Broker サポートの向上について。
C#でSonarQubeでカバレッジを表示する - Qiita
https://qiita.com/YoshijiGates/items/e1055e14c9960228726b
C# プロジェクトのカバレッジを取得し SonarQube で確認できるようにする方法について。
Adding client-side validation to ASP.NET Core, without jQuery or unobtrusive validation
ASP.NET Core で jQuery や unobtrusive validation を使用せずクライアントサイド検証を追加する方法について。
記事では npm の aspnet-client-validation パッケージを使用し、カスタマイズする方法などを紹介している。
Microsoft が LLM をアプリ開発に統合するための OSS「Semantic Kernel」を発表 - Qiita
https://qiita.com/nohanaga/items/430b59209b02c298ef2a
アプリケーションに ChatGPT などの LLM を統合するためのフレームワークである Semantic Kernel についての解説。
Iterator Benchmarks That Shocked With Unexpected Results - Dev Leader
https://www.devleader.ca/2023/03/17/shocking-results-from-collection-and-iterator-benchmarks/
リストやイテレーターに対する LINQ のベンチマークをとったときに期待と異なる結果となって見落としていたことについての振り返り。
C#でiText7を使ってPDFファイルを分割・結合する - Qiita
https://qiita.com/nekohei/items/9a2e8b1e9dfc922592ea
iText 7 を使用して PDF ファイルを分割、結合する方法について。
Primary Constructors with C#
https://csharp.christiannagel.com/2023/03/28/primaryctors/
C# 12 で導入予定のプライマリーコンストラクターについての解説。
AWS Lambda Web Adapterで.NET WEB APIをLambdaで動かす
https://zenn.dev/junnuj/articles/c2ba888670bc8e
Lambda Web Adapter を使用してピュアな ASP.NET Core アプリケーションを Lambda で動かす方法について。
ライブラリ、リポジトリ、ツールなど
ufcpp/ScribanSourceGenerator
https://github.com/ufcpp/ScribanSourceGenerator
Scriban (テンプレートエンジン) を使用してソースコードを生成する ScribanSourceGenerator。
Visual Studio Marketplace Publisher - GitHub Marketplace
https://github.com/marketplace/actions/visual-studio-marketplace-publisher
Visual Studio Marketplace に発行する GitHub Action。
Visual Studio VSIX Signer - GitHub Marketplace
https://github.com/marketplace/actions/visual-studio-vsix-signer
Visual Studio VSIX のサインを行う GitHub Action。
drasticactions/Drastic.InAppSettingsKit
https://github.com/drasticactions/Drastic.InAppSettingsKit
iOS アプリケーション内の設定画面を作る InAppSettingsKit のバインディングライブラリー。
I needed to add a settings UI for my .NET iOS app, so I updated the original Xamarin binding for InAppSettingsKit. With it, you can generate a setting bundle and have it appear in Settings and in your app. It also works on Catalyst!https://t.co/ZRwuMuaZg4. pic.twitter.com/5KK6cPn5MP
— Drastic Actions (@drasticactions) April 3, 2023
サイト、ドキュメントなど
ツイート
Java と .NET のスタックトレースの違いについて。
例外から取り出せるスタックトレースがそもそも違っていルコとに注意。Javaの場合throwされた時点のコールスタックがキャプチャされてる。https://t.co/WR7UuXBcOx C# (というか.NET)では、throw地点からcatch地点の間の大域脱出情報になる。https://t.co/ulm9nOxajv https://t.co/6DAXPLEPmN
— Kentaro Inomata (@matarillo) April 6, 2023
MFractor が Visual Studio for Mac v17.5 をサポート。
I've just released v5.0 of MFractor for Visual Studio Mac... This *finally* includes full support for .NET MAUI.
— Matthew Robbins (@matthewrdev) April 1, 2023
All of MFractors existing Xamarin.Forms tools now work in MAUI XAML files; code analysis, refactorings, navigation, tooltips etc.
Release:https://t.co/5EB9kwHR6X
Deep Dive
Implement IUtf8SpanFormattable on DateTime, DateTimeOffset, DateOnly, TimeOnly, TimeSpan, Char, Rune by stephentoub · Pull Request #84469 · dotnet/runtime
https://github.com/dotnet/runtime/pull/84469
DateTime などの値型に IUtf8SpanFormattable
を実装するという PR。