You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何确定运行.NET Standard类库的.NET平台?该检测方法是否可靠?

针对.NET Framework和.NET Core,该方法是可靠的

这个判断逻辑在区分.NET Framework和.NET Core(以及后续的.NET 5/6/7/8等统一平台)时是完全可靠的,原因如下:

  • .NET Framework 的行为:System.AppContext.TargetFrameworkName 属性会明确返回目标框架标识字符串,比如你示例中的 NETFramework,Version=v4.6.1,从.NET Framework 4.5开始这个属性就稳定存在并返回正确值。
  • .NET Core/.NET 5+ 的行为:在这些平台中,该属性始终返回 null,因为它们的运行时模型和.NET Framework不同,不会将目标框架信息注入到这个属性中。

你提供的判断代码可以放心使用,这里再整理成规范的代码块:

using System;

if (string.IsNullOrWhiteSpace(System.AppContext.TargetFrameworkName))
{
    // 当前运行在 .NET Core/.NET 5+ 平台(至少不是 .NET Framework)
}
else
{
    // 当前运行在 .NET Framework 平台
}

不过如果后续需要扩展检测其他.NET平台(比如Xamarin、Unity等),这个方法可能不够用,但仅针对你提到的.NET Framework和.NET Core这两个场景,它是完全可靠的。

内容的提问来源于stack exchange,提问作者Vadim Loboda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:15:29