首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.NET框架、.NET标准、.NET核心和.NET 5的区别

.NET框架、.NET标准、.NET核心和.NET 5的区别
EN

Stack Overflow用户
提问于 2022-05-14 12:37:33
回答 2查看 520关注 0票数 0

我构建了一个C#应用程序,我的目标框架是.NET框架4.72。当我使用TDengine C#连接器时,它的目标框架是.NET标准2.1和.NET 5。

当我在项目中引用这些包时,我总是在构建时得到一个错误,它说方法封送。

Marshal.StringToCoTaskMemUTF8(字符串)

不在4.7.2框架中。

我很困惑,因为在我看来,4.7.2应该是一个比.NET 5更低的版本,而且应该是兼容的。

那么,.NET标准和.NET框架.NET 5、6、7之间有什么区别呢?这些名字总是让我感到困惑。有没有人知道如何区分它们,或者推荐一些文章来帮助我了解它们。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-14 13:16:57

是啊,这太让人困惑了!

.NET核心是对.NET框架的重写,目的是使其独立于平台。它与经典的.NET框架(.NET一直到4.8版)有许多不兼容之处。版本5和更新版本中的.NET更新版本都是基于核心分叉,因此在4.8之前与旧版本不完全兼容。

.NET标准试图创建一个兼容于所有版本的公共子集。因此,如果您按照.NET标准编程,您的代码将与4.8分支和核心分支一起工作。不幸的是,通过制作一个与.NET 4.8不兼容的版本,MS搞砸了这一点。他们这么做可能是出于对.NET开发人员的不满。

主要的.NET框架版本:

.NET框架1.0 -> .NET Framework 2.0 -> .NET Framework3.0 -> .NET Framework3.5 -> .NET Framework4.0 -> .NET Framework4.8

主要.NET核心版本:

.NET Core 1 -> .NET core 2 -> .NET Core 3 -> .NET 5 -> .NET 6

票数 1
EN

Stack Overflow用户

发布于 2022-05-14 13:11:34

由于这确实令人困惑,我最近努力想办法解决这个问题。以下是我想出的:

.NET与.NET核心.NET框架的继承者。

从版本5开始,.NET Core只被称为.NET:

  • .NET核心1.0
  • .NET核心1.1
  • .NET Core2.0
  • .NET核心2.1
  • .NET核心2.2
  • .NET Core3.0
  • .NET核心3.1
  • .NET 5
  • .NET 6
  • .NET 7
  • .NET 8

.NET框架从1.0版运行到4.8版,版本号不能分别与.NET Core或.NET的版本号进行比较。

.NET标准本身并不是一个框架或平台。它只是为.NET实现设置了“符合.NET标准”的规范(标准)。这里您可以看到不同的.NET标准版本以及它们支持的.NET实现和版本的列表。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72240269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档