微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐