一、.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