.NET Standard Library是 .NET Framework 的基础,也就是说.NET Framework包含了.NET Standard Library中的所有目录。
所以将一个.NET Standard Library项目改成 .NET Framework项目是可以的。
但将一个.NET Framework项目改成.NET Standard Library项目那是有条件的,那就是不涉及到.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版本都对应一个.NET Standard版本,而.NET Framework没有这样的要求。
.NET Standard Library 是 .NET Core 和 .NET Framework 共有的基础。
1. .NET Core是一个开源的模块化的Framework,而且 .NET Core也可在不同的操作系统上运行,包括Windows、linux、MacOS,实现了跨平台跨设备。
2. .NET Framework 是Windows下特有的。
除实现NET Standard Library外 .NET Core 和 .NET Framework 都有各自特有的实现。
.NET Standard是一项实现BCL的规范。由于.NET实现需要遵循这项规范,所以应用程序开发人员就不用担心每一种托管框架实现的BCL不同。
因此,.NET Framework和.NET Core,每一种托管框架都实现了.NET Standard中的BCL。随着计算机工业不断推出新的硬件和操作系统,将来还会出现新的.NET托管框架。该标准让应用程序开发人员知道,他们可以依赖于一套始终如一的API。
每个.NET版本都对应一个.NET Standard版本。
API一致,将应用程序移植到不同的托管实现以及提供工具都会更简单。
微软CEO萨提亚·纳德拉睿智的决定抛弃以PC为中心,拥抱各种设备和平台,成为一家软件服务型企业。为了达成这种愿景必须构建新的微软生态链,囊括Windows,Linux,OS X及其他操作系统,覆盖X86/ARM等处理器以及不同的设备(包括PC,Phone,全息眼镜及其他)。这些足见微软的“野心”。
既然一个项目支持.net standard, 向上改成.net framework项目是可行的。
反之,将一个.net framework项目改成.net standard项目,只要不涉及到.net framework特有的部分,也是可行的。
春城无处不飞花,寒食东风御柳斜.
http://blog.csdn.net/zhao1949/article/details/51740559