.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/zh-hant/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

發表回復

登錄後才能評論