C# 正在尝试使用Assembly.Load接口解决编译时错误

C# 正在尝试使用Assembly.Load接口解决编译时错误,c#,.net,casting,assembly.load,dynamic-assemblies,C#,.net,Casting,Assembly.load,Dynamic Assemblies,我在运行时在代码上加载一个程序集,正如我在本线程中提到的,对该程序集的所有引用在运行时都会被破坏: 但现在,我尝试使用本文中这位先生建议的技术来解决这个问题: 这里唯一的问题是,我正在从动态程序集激活的类使用我无法在接口中定义的程序集的本机类型。这就是我被困的地方 我还尝试用object/dynamic替换这些外部程序集的本机类型,但我的强制转换在这一点上失败了 有没有关于如何解决这个问题的建议?您可以咬紧牙关,重构代码,不使用“其他”程序集中的类/方法,而是使用自己的接口。如果您的库与大量

我在运行时在代码上加载一个程序集,正如我在本线程中提到的,对该程序集的所有引用在运行时都会被破坏:

但现在,我尝试使用本文中这位先生建议的技术来解决这个问题:

这里唯一的问题是,我正在从动态程序集激活的类使用我无法在接口中定义的程序集的本机类型。这就是我被困的地方

我还尝试用object/dynamic替换这些外部程序集的本机类型,但我的强制转换在这一点上失败了


有没有关于如何解决这个问题的建议?

您可以咬紧牙关,重构代码,不使用“其他”程序集中的类/方法,而是使用自己的接口。如果您的库与大量静态方法调用和其他隐藏的依赖项绑定在一起,那么除了仔细的重构之外,真的没有什么可以做的了。
dynamic
没有理由会失败-您可以发布一个示例吗?因此,基本上我给您发布了一个小片段。源程序集的代码看起来是这样的:
string TriggerSetting{get;set;}Channel voltage Channel{get;set;}bool CaptureMainCurrent{get;set;}
但是现在我有了我的接口,它不知道像“Channel”这样的类型,这是这个插件的本机类型,我必须用一些东西来替换它,我用它来做这个`string TriggerSetting{get;set;}动态电压通道{get;set;}bool CaptureMainCurrent{get;set;}`