整理自资料 .net standard和.net framework什么区别?
.NET Standard Library 是 .NET Core 和 .NET Framework 共有的基础。也就是说.NET Framework包含了.NET Standard Library中的所有目录。
1. .NET Core是一个开源的模块化的Framework,而且 .NET Core也可在不同的操作系统上运行,包括Windows、linux、MacOS,实现了跨平台跨设备。
2. .NET Framework 是Windows下特有的。
所以将一个.NET Standard Library项目改成 .NET Framework项目是可以的。但反过来那是有条件的,那就是不涉及到.NET Framework的特有部件。除实现NET Standard Library外, .NET Core 和 .NET Framework 都有各自特有的实现。
下面这图可以清晰的知道.NET Standard Library和.NET Framework的关系和区别。
区别一、.NET Standard Library是底层的库文件,一般为上层提高实现的接口,而 .NET Framework除了实现NET Standard Library外,还有自己特有的实现类和方法。
区别二、.NET Standard是一项实现BCL的规范。由于.NET实现需要遵循这项规范,所以应用程序开发人员就不用担心每一种托管框架实现的BCL不同。
因此,.NET Framework每一种托管框架都实现了.NET Standard中的BCL。随着计算机工业不断推出新的硬件和操作系统,将来还会出现新的.NET托管框架。该标准让应用程序开发人员知道,他们可以依赖于一套始终如一的API。
区别三、每个.NET版本都对应一个.NET Standard版本,而.NET Framework没有这样的要求。
微软CEO萨提亚·纳德拉睿智的决定抛弃以PC为中心,拥抱各种设备和平台,成为一家软件服务型企业。为了达成这种愿景必须构建新的微软生态链,囊括Windows,Linux,OS X及其他操作系统,覆盖X86/ARM等处理器以及不同的设备(包括PC,Phone,全息眼镜及其他)。这些足见微软的“野心”。