我有一个使用多个类库的项目,这些类库是我的项目的一部分,首先加载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();