c# - 获取程序集的全名

标签 c# .net-assembly

假设我想显示程序集的全名,只给出程序集文件的路径。

我知道我可以很容易地编写命令行程序或 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/

相关文章:

c# - IronPython - 从 C# 4.0 应用程序中的字符串加载脚本

c# - 我怎样才能有效地跳出 C# 中的双循环?

c# - 使用反射从程序集加载时的不同类型

c# - 未找到自定义 Visual C++ CRL 程序集

c# - Roslyn 没有引用 System.Runtime

c# - 找不到类型或命名空间名称 'ProfileCommon'

exception - 无法加载文件或程序集 'System.Web' 或其依赖项之一。访问被拒绝

c# - 如何解决 .NET Core 包版本冲突

c# - 如何将光标移动到 RichEditBox 中文本的末尾?

c# - 获取 WinForms 应用程序名称的正确方法是什么?