しばやん雑記

Azure とメイドさんが大好きなプログラマーのブログ

C#

新着順 人気順

C# の Source Generator を使って OpenAPI 定義からクライアントを生成するライブラリを公開しました

これまで OpenAPI 定義から C# 向けのクライアントが必要な場合は OpenAPI Generator や AutoGen、あるいは NSwag といったツールを使ってきたのですが、それぞれのツールに癖があり割と妥協して使うことが多かったです。個人的には OpenAPI 定義だけ置いて…

C# Dev Kit for Visual Studio Code は GitHub Codespaces 上だと無料で使えてお得という話

最近は Azure OpenAI Service と Semantic Kernel の盛り上がりに伴い、ワークショップなどで GitHub Codespaces と Azure Functions の組み合わせで開発することが増えてきているので、安定して利用できる C# 開発環境を構築する方法を模索していました。こ…

Azure Pipelines の Hosted Agent を使うと C# 7.1 以降のコードがビルド出来ないのを直す

Azure Functions なプロジェクトのビルドで Azure Pipelines を使っていたところ、手元ではビルド出来ていたコードが Azure Pipelines だとビルドエラーになってしまったので、最適な解決策を調べていました。具体的には C# 7.1 以降のコードが Azure Pipeli…

C# で Interactive な Prompt を構築するライブラリを作った

Go や Node.js 向けは見つけられたのですが、C# / .NET Core 向けは探しても見つからなかったので作りました。.NET Standard 2.0 なので .NET Core / .NET Framework の両方で動くはずです。CoreFx の Console ベースで書いていて、Windows / Linux / macOS …

Swagger / OpenAPI 定義から C# クライアントを自動生成するツールの比較

Swagger / OpenAPI の定義からクライアントを作成するツールがいくつかあって、それぞれ特徴がありそうだったので実際に生成して試してみました。試したのは以下の 3 つです。 Swagger Codegen OpenAPI Generator AutoRest 使った Swagger 定義は公式の Pets…

COM Interop の基本を IShellLink を使って学びなおした

WinQuickLook で COM インターフェース定義を大量に手書きした時、自分の COM Interop の知識がイマイチなことに気が付いたので、とても分かりやすい IShellLink を使ってまとめます。ちなみに IShellLink はショートカットを作成するためのインターフェース…

Runtime Callable Wrapper (RCW) を使う時の注意点

Runtime Callable Wrapper (RCW) のおかげで、COM を簡単に C# などから使うことが出来ますが、今回素晴らしくその挙動ではまったので忘れないうちにメモ。 Marshal.ReleaseComObject の呼び出し Marshal.ReleaseComObject を呼び出す必要がないのは、キャス…