【问题标题】:C# reflection: how to tell if a DLL is .NET core or .NET framework?C# 反射:如何判断一个 DLL 是 .NET 核心还是 .NET 框架?
【发布时间】: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


【解决方案1】:

受此启发 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();

【讨论】:

    猜你喜欢
    • 2019-06-01
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    • 2011-02-16
    • 2021-02-28
    相关资源
    最近更新 更多