3 回答

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

TA贡献1811条经验 获得超6个赞
只是想分享一个递归示例。我在启动例程中这样调用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 关注
- 581 浏览
添加回答
举报