如何获取当前正在执行的程序集引用的所有程序集的路径? GetReferencedAssmblies()
给我 AssemblyName[]
。我如何从那里到达它们的加载位置?
最佳答案
在加载程序集之前您无法知道。程序集解析算法很复杂,您无法可靠地预先猜测它会做什么。调用 Assembly.Load(AssemblyName)
重写将为您提供对程序集的引用,其 Location 属性会告诉您需要什么。
但是,您真的不想预先加载程序集,在 JIT 编译器执行它之前。它效率低下,出现问题的可能性不为零。例如,您可以在程序准备好响应之前触发 AppDomain.AssemblyResolve
事件。避免问这个问题。
关于c# - 获取所有引用程序集的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4193516/