トピックス
Announcing the stable release of the official OpenAI library for .NET - .NET Blog
.NET 向けの公式 OpenAI ライブラリーがリリースされた。
このライブラリーは OpenAI および Azure OpenAI サービスをサポートするクライアントライブラリーとなっている。
- 完全な OpenAI REST API サポート: v2 やチャット補完など柔軟なインタラクションを実現できる
- 最新のモデルのサポート: GPT-4o, GPT-4o mini, o1-preview, o1-mini などのモデルのサポート
- 拡張性
- 同期と非同期 API
- ストリーミング補完: IAsyncEnumerable によるストリーミング補完
- Quality-of-life の向上
- .NET Standard 2.0 の互換性
Release Windows App SDK 1.6.1 (1.6.240923002) · microsoft/WindowsAppSDK
https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.6.1
Windows App SDK 1.6.1 がリリースされた。
このリリースではいくつかのクラッシュやバグといった不具合の修正が行われている。
Visual Studio 2022 - Recent performance enhancements - Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/visual-studio-2022-recent-performance-enhancements/
Visual Studio 2022 17.11 でのパフォーマンス改善についての紹介記事。
C# に関連する部分でのパフォーマンス改善としてコードのインデックス作成に関する挙動の改善、Source Generator の .NET 8 以降と実行タイミングの変更とその設定がある。
その他 C++ での条件付きブレークポイントのパフォーマンス改善や C++ シンボル検索の最適化といった改善があるとのこと。
アーティクル、スライドなど
LibGit2Sharpを使用してGitリポジトリを操作する方法
https://zenn.dev/nuits_jp/articles/2024-10-04-use-libgit2sharp-git-operations
LibGit2Sharp を使用した Git リポジトリの操作についての簡単な説明。
SIMD並列化ライブラリSmartVectorDotNet開発の知見まとめ(1) IEEE754浮動小数型の低レベル操作
https://zenn.dev/aka_nse/articles/34740bb2088576
SIMD を使用した並列化ライブラリで各種演算を実装する際の知見についてのまとめ。
Discover Hidden Insights with Profiler's External Code Decompilation - Visual Studio Blog
Visual Studio でプロファイリングした際、ソースコードを持たない部分を解析するために自動で逆コンパイルする機能についての紹介。
【C#】ML.NETでレビューに含まれる感情を分析してみた - Qiita
https://qiita.com/KM_20005/items/2019cd99ba91cc8aeaeb
ML.NET を使用して感情を分析するモデルと実装する手順の紹介。
Major updates to NetEscapades.AspNetCore.SecurityHeaders
https://andrewlock.net/major-updates-to-netescapades-aspnetcore-security-headers/
セキュリティー関連のヘッダーを出力するミドルウェア NetEscapades.AspNetCore.SecurityHeaders のアップデートについて。
記事ではアップデートに際して、削除や変更のあったヘッダーやカスタマイズについてなどを詳しく解説している。
Implement a Geo-distance search using .NET Aspire, Elasticsearch and ASP.NET Core
ASP.NET Core アプリケーションで Elasticsearch の Geo-distance 検索を呼び出す方法について。
(C#) OnnxRuntimeを通してResNetによる画像分類を試す - Qiita
https://qiita.com/Kujiro/items/7b2e75494e05a2c803dd
OnnxRuntime と ResNet を使用した画像分類を実装する方法について。
記事では画像を読み込んで推論する手順や GPU を使用する場合について触れている。
csbindgenを使ってみる - Qiita
https://qiita.com/aiueo-1234/items/df61c6a4ce2695904e5a
C 言語や Rust のバインディングを生成する csbindgen の使用方法についての解説。
Visual Studio & .NET - ソースコードを持っていないアセンブリ内にブレークポイントを設置してデバッグしたい
https://zenn.dev/j_sakamoto/articles/f333eecd0949dc
Visual Studio でソースコードのない外部アセンブリに対してデバッグ実行時に逆コンパイルしてステップインする方法について。
ASP.NET Core 9 and IAsyncEnumerable - Async Streaming JSON and NDJSON From Blazor WebAssembly
https://www.tpeczek.com/2024/09/aspnet-core-9-and-iasyncenumerable.html
.NET 9 の Blazor WebAssembly で対応されたストリーミングアップロードを使用して、 JSON および NDJSON のストリーミングアップロードを実装する方法について。
Effortless Instrumentation profiling with Persistent Target Selection - Visual Studio Blog
Visual Studio 2022 でプロファイリングのターゲット選択を保持する改善についての紹介。
繰り返しプロファイリングをセッションを実行する場合にその都度選択する必要がなくなる。
An Efficient Dictionary for IPAddress Tracking using .NET 9 with AlternateLookup and IAlternateEqualityComparer - Steve Gordon - Code with Steve
IP アドレスをキーにした Dictionary で .NET 9 の Dictionary の AlternateLookup を使用して ReadOnlySpan で検索できるようにする方法について。
Disabling Recording of an Activity (span) in .NET OpenTelemetry Instrumentation - Steve Gordon - Code with Steve
OpenTelemetry での計測時に、Activity (Span) による記録を無効にする方法について。
特定の無効なリクエストはトレースに含めたくないといったケースでの対応方法。
Unity Tools Case Study The Qodana Blog
https://blog.jetbrains.com/ja/qodana/2024/08/unity-tools-qodana/
JetBrains Qodana を使用して CI/CD で Unity アプリケーションのコードの品質をチェックする方法について。
Spectre.Console helpers
https://dev.to/karenpayneoregon/spectreconsole-helpers-3ml3
Spectre.Console の使い方デモを兼ねたヘルパーコードの実装と紹介。
[WPF] 次の画面再描画時に処理を実行する - Qiita
https://qiita.com/habakino094/items/285ed1f899a6e3dd6ddc
WPF で再描画時に呼び出される CompositionTarget.Rendering について。
Receiving Push Notifications from Firebase in Android MAUI
https://dev.to/laura_puckoriute/receiving-push-notifications-from-firebase-in-android-maui-1ho
.NET MAUI の Android 向けアプリケーション実装で、Firebase を使用した通知をハンドリングする方法について。
OSSの認証サービス Keycloak を.NETから使ってみた-Aspireとコンテナで使える簡単IDaaS
ライブラリ、リポジトリ、ツールなど
サイト、ドキュメントなど
ツイート
Visual Studio で return ステートメントで返す値をインラインで表示/確認できるようになる、という話。
The Visual Studio debugger now displays inline values for return statements, responding to one of the most requested features from the developer community.
— Mads Kristensen (@mkristensen) September 27, 2024
Coming soon... pic.twitter.com/99W5Ce3U3C
最新の Rider のプレビューでも .slnx 形式のサポートが追加されたという話。
The new #dotnet `.slnx` solution file format is available in the latest @JetBrainsRider preview 👏 pic.twitter.com/N9ZVzyrTm6
— Maarten Balliauw @maartenballiauw@mastodon.online (@maartenballiauw) September 30, 2024
C# 13 のコレクション式の要素のより良い変換が 17.13 (Preview 3) にマージされた。
We merged a C# 13 feature into VS 17.12 (preview 3): Better conversion from collection expression element.
— Julien Couvreur (@jcouv) October 2, 2024
It improves overload resolution to account for the element type of a collection expressions.https://t.co/NQLBJutDjA
Deep Dive
Add initial design document for parsing net10
by terrajobst · Pull Request #322 · dotnet/designs
https://github.com/dotnet/designs/pull/322
.NET 10 に向け TargetFramework を net10
どう扱うかについて。net10
そのままでは .NET Framework 1.0 と区別がつかない問題がある。