【发布时间】:2017-12-01 16:59:35
【问题描述】:
我正在编写一个 C# 控制台应用程序,它必须在 .NET Framework 2.0 下运行,但需要能够识别程序集的框架版本,即使它高于 .NET 2.0。
我不能使用AssemblyName.GetAssemblyName 或相关函数,因为如果目标程序集是在更高版本的框架下构建的,它们会抛出BadImageFormatException。有没有办法在不尝试以任何方式加载程序集的情况下获取这些信息?
注意:我知道使用 PowerShell 可以做到这一点,但该工具在目标环境中不可用。
另请注意,我不需要找出程序集的版本,而是它所需的框架版本。
【问题讨论】:
-
不正确。那是程序集本身的版本,而不是编译它所针对的框架的版本。
标签: c# reflection .net-assembly