如今,可以使用.NET Core和完整的.NET框架创建.NET应用程序。
.NET Core和完整的.NET Framework都使用程序集文件(dll文件)打包应用程序。
现在给出一个通过Reflection在C#程序中加载的程序集文件,如何知道它所针对的环境(.NET Core,Full Framework ...)?
结果是一个重复的问题,我想在the most helpful answer问题中突出显示pre-existing:
Assembly assembly = AssemblyLoadContext.Default.LoadFromAssemblyPath("Lib.dll");
var targetFrwrk = assembly.GetCustomAttribute<TargetFrameworkAttribute>().FrameworkName;
TargetFrameworkAttribute.FrameworkName
属性包含目标框架的名称。例如:.NETStandard,Version=v1.6
或.NETFramework,Version=v4.5.2
。