假设我想显示程序集的全名,只给出程序集文件的路径。
我知道我可以很容易地编写命令行程序或 powershell 脚本,但是运行时是否包含我可以使用的命令? (我见过 gacutil 对 gac 中的程序集执行此操作,但对未注册的程序集执行此操作?)
最佳答案
我认为您正在寻找 System.Reflection.AssemblyName.GetAssemblyName:
AssemblyName name = AssemblyName.GetAssemblyName(@"C:\path\assembly.dll");
Console.WriteLine(name.FullName);
与使用 Assembly.Load 的解决方案不同,这不会将程序集加载到您的 AppDomain 中。这将允许您获取程序集的 AssemblyName,而无需解析程序集具有的任何引用,也无需在程序集中执行任何代码(例如模块静态构造函数)。它甚至可以让您获得一个程序集的 AssemblyName,该程序集的目标 .NET Framework 版本与您的应用程序运行的版本不同。
关于c# - 获取程序集的全名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7354179/