C#
これまで OpenAPI 定義から C# 向けのクライアントが必要な場合は OpenAPI Generator や AutoGen、あるいは NSwag といったツールを使ってきたのですが、それぞれのツールに癖があり割と妥協して使うことが多かったです。個人的には OpenAPI 定義だけ置いて…
最近は Azure OpenAI Service と Semantic Kernel の盛り上がりに伴い、ワークショップなどで GitHub Codespaces と Azure Functions の組み合わせで開発することが増えてきているので、安定して利用できる C# 開発環境を構築する方法を模索していました。こ…
Azure Functions なプロジェクトのビルドで Azure Pipelines を使っていたところ、手元ではビルド出来ていたコードが Azure Pipelines だとビルドエラーになってしまったので、最適な解決策を調べていました。具体的には C# 7.1 以降のコードが Azure Pipeli…
Go や Node.js 向けは見つけられたのですが、C# / .NET Core 向けは探しても見つからなかったので作りました。.NET Standard 2.0 なので .NET Core / .NET Framework の両方で動くはずです。CoreFx の Console ベースで書いていて、Windows / Linux / macOS …
Swagger / OpenAPI の定義からクライアントを作成するツールがいくつかあって、それぞれ特徴がありそうだったので実際に生成して試してみました。試したのは以下の 3 つです。 Swagger Codegen OpenAPI Generator AutoRest 使った Swagger 定義は公式の Pets…
WinQuickLook で COM インターフェース定義を大量に手書きした時、自分の COM Interop の知識がイマイチなことに気が付いたので、とても分かりやすい IShellLink を使ってまとめます。ちなみに IShellLink はショートカットを作成するためのインターフェース…
Runtime Callable Wrapper (RCW) のおかげで、COM を簡単に C# などから使うことが出来ますが、今回素晴らしくその挙動ではまったので忘れないうちにメモ。 Marshal.ReleaseComObject の呼び出し Marshal.ReleaseComObject を呼び出す必要がないのは、キャス…