アセンブリローダーがC ++/CLI混合モードアセンブリのGACをチェックインしないのはなぜですか?

StackOverflow https://stackoverflow.com/questions/4889972

質問

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アセンブリであり、黒ではワーキングディレクトリです):

enter image description here

ローダーがGACやパスをチェックしていない理由についての考えはありますか?

役に立ちましたか?

解決

publicKeyToken = null

アセンブリは強力ではありません。つまり、GACに配置できないことを意味します。CLRはそこを見ることはありません。 GACに乗るために何をしたかわからないが、それは可能ではないはずだ。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top