3 回答

TA贡献1802条经验 获得超4个赞
您可以使用Assembly.GetReferencedAssemblies获取AssemblyName[],然后分别调用Assembly.Load(AssemblyName)它们。当然,您需要递归-但最好跟踪已加载的程序集:)

TA贡献1796条经验 获得超10个赞
只是想分享一个递归示例。我在启动例程中这样调用LoadReferencedAssembly方法:
foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
{
this.LoadReferencedAssembly(assembly);
}
这是递归方法:
private void LoadReferencedAssembly(Assembly assembly)
{
foreach (AssemblyName name in assembly.GetReferencedAssemblies())
{
if (!AppDomain.CurrentDomain.GetAssemblies().Any(a => a.FullName == name.FullName))
{
this.LoadReferencedAssembly(Assembly.Load(name));
}
}
}
- 3 回答
- 0 关注
- 370 浏览
添加回答
举报