使おうと思ったライブラリが .NET Framework 向けのみで .NET Core に対応していない。
これにつきる。気を付けましょう。例えば……
依存関係はないといったな? それは嘘だ。
パッケージ 'WindowsAzure.ServiceBus 4.2.1-preview' はプロジェクトのターゲット フレームワーク '.NETCoreApp,Version=v2.0' ではなく '.NETFramework,Version=v4.6.1' を使用して復元されました。このパッケージは、使用しているプロジェクトとの完全な互換性がない可能性があります。
ちなみに、下の方にいる WindowsAzure.Storage
は .NET Core 対応です。
同じ系統の名前なのに!
必ず、依存関係に対応の記載があるライブラリを使用する。 ServiceBus
に関しては正解はこちら。
余談
僕はただSASトークンでServiceBus Topic の Subscription を作りたかっただけなんだ。
Microsoft.Azure.ServiceBus
では、それができない。
というよりは、REST APIではSASトークンでの操作がサポートされていない、かな。多分。
前提条件に、アプリケーションのADアプリとしての登録があって、怪しみは感じた。
(今回は単に自分が面倒だっただけなので、Azureを活用するアプリケーションはADアプリとして登録して、関連サービスを活用できるように認証したほうがいいです。そのADアプリにどんな認可を与えるか? でアプリケーションに対する権限を一元管理できて非常に便利です)
WindowsAzure.ServiceBus
では、できる。こちらは、.NET(というよりはWindows)クライアントとして作成されているのだろう。
HTTP以外のプロトコルを使うサービスはライブラリ整備が大変そう。
それぞれのライブラリドキュメントは多分この辺り。
非常に迷いやすいと思うんだよね!