私はマネージC++アプリケーションからC#dllを呼び出しています。 C#dllはカスタムフォルダに入っているので、C#を動的にロードするにはManaged C++ dllが必要です。Assembly :: LoadFromはManaged C++ DLLから呼び出されました
これはすべてVC++ 2010 v100および.net 4.0です。
私はそれが、私の管理C++のdll内の関数は、そのDLLの機能のいずれかにアクセスしようとただしたときに、LoadFrom呼び出しがMyCSharp.DLLを成功し、ロード見ることができます
Assembly::LoadFrom("MyCSharp.dll")
を使用します次のいずれか
MyCSharp.DLLが自分のアプリケーション
Bと同じ実行フォルダ内に存在しない場合a)の失敗)成功MyCSharp.dllが実行したフォルダに存在する場合は、しかし、今私が持っています2つのコピーがメモリにロードされ、私は明らかにnですmy :: LoadFromコールからロードされたものにアクセスすることはできません。
実行関数が明示的に読み込まれたC# - dllとのリンクを妨げているのかどうかわかりません。
私が気付いていないVC++の管理下にあるC++ dllの設定に問題があると思われます。
C++/CLIではなくManaged C++を使用していますか?それらは異なる言語であり、Managed C++は非推奨です。 – Botz3000
回答が役に立ちましたか? –