c# – 一种将汇编负载强制加载到当前域的正确方法

前端之家收集整理的这篇文章主要介绍了c# – 一种将汇编负载强制加载到当前域的正确方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个项目,使用几个类库作为我的项目的一部分,第一个AssemblyA被加载,然后装入AssemblyB.在AssemblyA中,有代码执行以下操作
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
var assemblyB = assemblies
                .Where(x=>x.GetName() == "AssemblyB")
                .First();
var type = assemblyB.GetType("AssemblyB_Type");

不幸的是,当AssemblyA尝试这样做时,AssemblyB没有加载到CurrentDomain中,所以要加载该程序集,我正在做以下不必要的事情:

var x = typeof(AssemblyB.AssemblyB_Type);

编译器显示警告,这行不需要,虽然我找不到文字来解释它,否则它将无法正常工作,所以问题是,你如何正确地(在风水术语)强制汇编加载到CurrentDomain没有做无用的管道

解决方法

您现有的代码是最好的方式(AFAIK).

要摆脱警告,请将其更改为

typeof(AssemblyB.AssemblyB_Type).ToString();

猜你在找的C#相关文章