私は次のコンパイルフォルダ(簡体字)を得た:ライブラリをロードする相対パス?
D:\MySolution\Project1\bin\Debug
D:\MySolution\Project2\bin\Debug
ので、私が働くこのコードを使用し私のProject1
がProject2
の参照を持っていますが、コードの中で、私はProject1のからクラスをロードする必要があります。
var project2ref = Assembly.LoadFrom(@"..\..\..\Project1\bin\Debug\Project1.dll")
.CreateInstance("MyNamespace.MyClass");
これはVSで動作しますが、私のソフトウェアのインストールバージョンを使用するとクラッシュします... 相対パスの代替手段は何ですか?
プロジェクトエクスプローラで「参照」の下に参照を追加して、「プロジェクト1」の「プロジェクト2」を参照してみませんか? –
インストールフォルダにbin \ Debugサブフォルダがない可能性がありますか? –
Project1はすでにProject2のリファレンスを持っています(インターフェイスを使用しています)ので、Project1のProject2(循環依存)を参照できません –