c# - 获取所有引用程序集的路径

标签 c# reflection

如何获取当前正在执行的程序集引用的所有程序集的路径? GetReferencedAssmblies() 给我 AssemblyName[]。我如何从那里到达它们的加载位置?

最佳答案

在加载程序集之前您无法知道。程序集解析算法很复杂,您无法可靠地预先猜测它会做什么。调用 Assembly.Load(AssemblyName) 重写将为您提供对程序集的引用,其 Location 属性会告诉您需要什么。

但是,您真的不想预先加载程序集, JIT 编译器执行它之前。它效率低下,出现问题的可能性不为零。例如,您可以在程序准备好响应之前触发 AppDomain.AssemblyResolve 事件。避免问这个问题。

关于c# - 获取所有引用程序集的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4193516/

相关文章:

c# - ASP.NET Core 2.0 动态认证

c# - .NET Decimal.Parse 在使用句点作为千位分隔符时抛出 FormatException

c# - 重播功能和参数列表

c# - 如何获取实现给定接口(interface)的所有加载类型的所有实例?

C# INotifyPropertyChanged 动态创建对象的属性?

c# - 递归创建自定义复杂对象

c# - 我可以在内部制作 ASP.NET Core Controller 吗?

c# - 使用控制台或 WindowsService 的 AsyncOperation

c# - Azure Cosmos 数据库集合未获取分区键

java - 如何使用反射从外部获取对匿名内部类方法 'helloWorld' 的引用