.NET Standard:全能的类库规范

一、.NET Standard类库

.NET Standard 是由 Microsoft 发布的类库规范。它为 .NET 平台上各个特定实现(如 .NET Framework、.NET Core、Mono 等)提供了一个共同的 API 规范,使得开发人员能够在多个应用程序模型中共享库。

通过 .NET Standard,开发人员可以重用他们以前为一个 SDK 编写的代码,而不用担心它能否在另一个 .NET 实现中使用。因为如果一个实现符合 .NET Standard,那么它就保证可以和其它符合 .NET Standard 的实现共享库。

从 .NET Standard 的角度来看,类库大体可分为三类:

  • 从 .NET Framework、.NET Core 或 Mono 的特定类库中导入 .NET Standard 兼容的 API,称为 .NET Standard 类库。
  • 仅在大多数 .NET Standard 实现中可用的 API,所以某些实现可能不支持,并且在多数情况下无法使用。这些 API 称为“便携式从属”,并且在 .NET Standard 中的 API 文档中列出。
  • 仅在某些 .NET Standard 实现中可用的 API,如果没有特别说明,则不支持其他实现。这些 API 在 .NET Standard 中的 API 文档中列出,并且应将它们看作是“实现定义”。

二、.NET Standard 2.1

.NET Standard 2.1 是 .NET Standard 中的最新版本,它包含了最新的 API,如 Span、Memory 和 Pipelines。它仅支持 .NET Core 3.0 、Mono 6.4 和更高版本,并且不能在 .NET Framework 中使用。.NET Standard 2.1 与 .NET Core 3.0 一起发布,这是 .NET Core 平台的最新版本。它引入了许多新的功能,如全局使用的多个框架文件、应用程序启动优化、低延迟的 HTTP 堆栈等等。

以下是 .NET Standard 2.1 演示代码:

  
using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello World!");
    }
}
  

三、.NET Standard 2.0安装

.NET Standard 2.0 是一个跨平台的类库规范,它支持 .NET Framework 4.6.1 和更高版本、.NET Core 2.0 和更高版本,还支持云、移动和游戏等平台。

.NET Standard 2.0 可以通过命令行或通过 Visual Studio 安装。以下是通过命令行安装 .NET Standard 2.0 的示例:

  
dotnet add package NETStandard.Library
  

四、.NET Standard 和 .NET Core

.NET Standard 和 .NET Core 都是 Microsoft 发布的一组技术,.NET Standard 是一个类库规范,而 .NET Core 是一个跨平台的开源框架。.NET Core 实现了 .NET Standard,而且会添加一些额外的 API,使得它更适合于构建跨平台应用程序。

在使用 .NET Standard 编写代码时,可以轻松地将代码迁移到 .NET Core 中,而且不需要大量的更改,因为这两者提供了相同的 API。以下是一个演示如何在 .NET Standard 中编写代码,以便能够使其在 .NET Core 中运行:

  
using System;

namespace HelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}
  

五、.NET Standard.dll

.NET Standard.dll 是一个包含多个 dll 的包,这些 dll 实现了 .NET Standard 规范,可以提供跨平台解决方案,帮助 .NET 开发人员消除在不同平台下编写代码的麻烦。.NET Standard.dll 被设计为平台无关的类库,因为它只包含那些在所有 .NET 平台上都可以获得的 API。

以下是一个使用 .NET Standard.dll 的简单演示程序:

  
using System;
using System.IO;
using System.Net;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.msdn.com");
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader reader = new StreamReader(response.GetResponseStream());
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
  

六、.NET Standard 2.0引用

.NET Standard 2.0 引用指的是在 .NET Standard 2.0 中添加到代码库的引用包,使得 .NET Standard 2.0 可以使用其他平台的库(.NET Framework、.NET Core 等)。

使用 .NET Standard 2.0 引用需要使用 NuGet 包管理器进行安装,以下是演示如何使用 NuGet 进行安装的示例:

  
Install-Package Microsoft.NETCore.Platforms
  

七、.NET Standard 2.0下载

可以从 Microsoft 的官方网站或通过 NuGet 包管理器下载 .NET Standard 2.0。

以下是通过 NuGet 包管理器下载 .NET Standard 2.0 的示例:

  
Install-Package NETStandard.Library
  

八、.NET Standard.library

.NET Standard.Library 是一个包含多个 .NET Standard.dll 文件的包,它们实现了 .NET Standard 规范。.NET Standard.Library 使得开发人员可以在各种 .NET 实现平台上轻松共享代码。

从 .NET Standard.Library 中导入类库时,需要使用 NuGet 包管理器进行安装。以下是演示如何在 Visual Studio 中使用 NuGet 包管理器安装 .NET Standard.Library 的示例:

  
1.在资源管理器中右击项目文件夹,选择“管理 NuGet 包…”
2.在 NuGet 包管理器中搜索 "NETStandard.Library"
3.选择"NETStandard.Library"并单击“安装”按钮
  

九、结论

.NET Standard 包含了一组 API,这些 API 为 .NET 实现平台(.NET Framework、.NET Core、Mono 等)提供了一个共同的规范。通过 .NET Standard,开发人员可以编写跨平台的代码,而无需担心 API 是否可用。

.NET Standard 2.1 与 .NET Core 3.0 一起发布,包含了最新的 API,而 .NET Standard 2.0 则支持多个 .NET 实现平台,并且可以使用 NuGet 包管理器进行下载和安装。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/270028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-16 13:35
下一篇 2024-12-16 13:35

相关推荐

  • 解决.net 6.0运行闪退的方法

    如果你正在使用.net 6.0开发应用程序,可能会遇到程序闪退的情况。这篇文章将从多个方面为你解决这个问题。 一、代码问题 代码问题是导致.net 6.0程序闪退的主要原因之一。首…

    编程 2025-04-29
  • MyBatis.NET

    MyBatis.NET是一个优秀的.NET ORM框架,它将对象映射成为数据库中的记录,不需要编写SQL语句,并具有良好的性能和灵活性。 一、简介 MyBatis.NET集成了面向…

    编程 2025-04-23
  • system.net.webexception异常详解

    一、webException的概念 System.Net.WebException类表示的是发生与http协议相关的错误时.NET Framework的异常。在.NET编程中,we…

    编程 2025-04-23
  • Windows10无法安装.NET Framework 3.5 & 2.0 & 3.0

    在Windows10中安装.NET Framework 3.5、2.0和3.0时,您可能会遇到一些问题,例如无法安装或安装过程中出现错误。以下内容将从几个方面来详细阐述这些问题。 …

    编程 2025-04-23
  • ZZZJST.NET:一个全面的编程学习平台

    一、简介 www.zzzjst.net是一个全能编程开发工程师的学习平台。它提供高质量的编程课程,为技术人员和程序员开展技术能力的提升提供了不可替代的资源。 该网站以前端技术、后端…

    编程 2025-04-23
  • .NET框架:微软推出的跨平台编程框架

    一、介绍 Microsoft .NET Framework(简称.NET)是由微软公司一个跨平台的开发框架,它支持多种操作系统和开发语言,为创建面向 Windows 和 Web 的…

    编程 2025-04-22
  • 详解 AndroidUtilCode 工具类库

    一、介绍 AndroidUtilCode 是一款收录了大量常用工具类的 Android 库,全称为 Android Util Code,是 Android 平台上的工具类库。这个库…

    编程 2025-04-13
  • Ubuntu安装Net-tools详解

    一、Net-tools介绍 Net-tools是一个Linux下常用的网络工具集,包含了一系列用来管理和诊断网络的应用程序,如ifconfig、route、arp、netstat等…

    编程 2025-04-02
  • Java.net详解

    Java.net是Java平台提供的用于网络编程的API集合。它提供了在Java应用程序中实现网络连接和通信所需的基本组件和类。Java.net包含了一系列类,如Socket、Se…

    编程 2025-02-25
  • .NET 5.0详解

    一、新特性 .NET 5.0是微软推出的一个全新版本的.NET Framework,该版本在各个方面都有着令人惊喜的增强和改进。本章我们将讨论.NET 5.0的新功能和特性,让您对…

    编程 2025-02-17

发表回复

登录后才能评论