【发布时间】:2023-01-31 17:18:47
【问题描述】:
使用 C# 反射检查任意 .NET DLL 的元数据,如何确定它是用 .NET 核心(例如 .NET 6.0 或 7.0)还是 .NET Framework(例如 .NET Framework 4.7.2)编写的?
【问题讨论】:
标签: c# .net reflection .net-framework-version
使用 C# 反射检查任意 .NET DLL 的元数据,如何确定它是用 .NET 核心(例如 .NET 6.0 或 7.0)还是 .NET Framework(例如 .NET Framework 4.7.2)编写的?
【问题讨论】:
标签: c# .net reflection .net-framework-version
受此启发 post
选项 1,其中 s 是您的运行时版本:
Dim a As Assembly = Reflection.Assembly.ReflectionOnlyLoadFrom("C:pathssembly.dll")
Dim s As String = a.ImageRuntimeVersion
选项 2,其中 tar.FrameworkDisplayName 将是您的运行时版本:
var tar = (TargetFrameworkAttribute)Assembly
.LoadFrom("yoursAssembly.dll")
.GetCustomAttributes(typeof(TargetFrameworkAttribute)).First();
【讨论】: