こんにちは私は私のソリューションのプロジェクトからdllをロードするために働いたこのコードを持っています。DLLは現在別のソリューションになっています。
public void LoadCalculationExpert(string pathToExpert)
{
var assembly = Assembly.LoadFrom(pathToExpert);
var type = assembly.GetType("Expert.CalculationExpert");
var calculationExpert = (ICalculationExpert)Activator.CreateInstance(type);
this._container.RegisterInstance(calculationExpert, new ContainerControlledLifetimeManager());
}
Dllは、と完全に同一のインターフェイスを実装しますICalculationExpert
。実際、私はインターフェースを他のソリューションにコピーしました。つまり、キャストは同じインターフェイスを実装するオブジェクトであるため、機能するはずです。
問題は、無効なキャスト例外をスローすることです。
私の推測では、インターフェイスは別の名前空間にあり、キャストをねじ込みます。
CalculationExpert
とICalculationExpert
はnamespace Expert
別のソリューションにあります。ICalculationExpert
私のソリューションではnamespace GSoft.Sons.Bll.ScoreExpert
私が読むことができるアイデアやリソースはありますか?