您好,我有这段代码可以从我的解决方案中的项目加载 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
我可以阅读任何想法或资源吗?