前提
「アプリ(C#)⇒ライブラリ(C#)⇒外部ライブラリ(C++)」の参照の流れで、アプリがライブラリからデータ取得を行う一連動作のライブラリ部分開発を行っています。
外部ライブラリは、客先会社の別チームで開発中となり、今後の更新が予想されます。
それにより客先より、ライブラリ⇒外部ライブラリの参照は動的参照にして、外部ライブラリの更新があっても、外部ライブラリさえ更新すれば動作できるものにしたいとの要望をもらいました。
問題
外部ライブラリのソースコードを参照した結果、定数、列挙体が複数種あり、インターフェース関数の引数にもその値を使います。
外部ライブラリを動的参照(DllImportやAppDomain)した場合などでは、関数ラップやインスタンスになってくるため、定数や列挙体を使用できませんでした。
何か動的参照でも定数、列挙体を使用する方法はあるのでしょうか?
補足
開発環境:VisualStudio2015 Professional
.NET:バージョン4.6
外部ライブラリの仕様が変わったら、動的だろうと静的だろうと使えませんよね。
タイプライブラリがあってそれは変更しないとか、何かしらの約束事があるはずです。
約束事があるならそれを質問に書かないと何もわかりません。
もしなければ、約束事をガチガチに固めておかないと貧乏くじを引くことになります。
失礼しました。
外部ライブラリは既存のインターフェースクラス、関数の構成は固定で、更新はインターフェース追加、内部関数改善などが行われる予定です。
そのため、使用するライブラリ側としてはバージョン違いが変更点になってきます。
静的参照の場合は、最新バージョンで参照設定をやり直し、リビルドを要してきます。
動的参照の場合は、アセンブリ名のみ、バージョン指定なしでも読み込み自体は可能で、環境のDLL更新で、リビルドしなくても提供化という観点から、動的参照にしたいそうです。
そのうえで、動的で定数、列挙体は使用可能なのだろうか、という話になります。
何もコメントがないということは理解できなかったということですか?
理解できないときには黙る癖がありますか?
回答1件
あなたの回答
tips
プレビュー