アセンブリローダーがC ++/CLI混合モードアセンブリのGACをチェックインしないのはなぜですか?
-
28-10-2019 - |
質問
C ++/CLI混合モードアセンブリを参照するC#プロジェクトがあります。そのアセンブリはフォルダー内にパスに保存され、GACにも存在しますが、実行されると、次のようになります。
System.io.FileNotFoundException:ファイルまたはアセンブリ「PCSSocketCommunications500、バージョン= 0.0.0.0、Culture = neutral、publicKeyToken = null」
バージョン0.0.0.0は、C ++/CLIにはアセンブリバージョンのクラスがないためですが、私が知っている限り、これは問題ではないはずです。
ランニングプロセスモニターシステムは、メインプロセスと同じフォルダーでアセンブリを探していることがわかりました...私はアセンブリのロードの専門家ではありませんが、少なくともいくつかのGAC検索と「多分」を見ることが期待されていましたパス検索..それが私が得たものです(PCSSocketCommunication500.DLLはC ++/CLIアセンブリであり、黒ではワーキングディレクトリです):
ローダーがGACやパスをチェックしていない理由についての考えはありますか?
解決
publicKeyToken = null
アセンブリは強力ではありません。つまり、GACに配置できないことを意味します。CLRはそこを見ることはありません。 GACに乗るために何をしたかわからないが、それは可能ではないはずだ。
所属していません StackOverflow