【转】.NET Core 可移植类库PCL Portable Class Library详解
轉自:https://www.kaifaxueyuan.com/server/dotnet-core/dotnet-core-portable-class-library.html
?在這一章中,我們將討論什么是PCL (可移植類庫),以及為什么我們需要PCL。為了理解這個概念,讓我們打開上一章創建的類庫項目文件夾。
什么是PCL
? 現在讓我們了解什么是PCL
-
? 可移植類庫項目使您能夠編寫和構建在多個.net框架平臺上工作的托管程序集。
-
? 您可以創建包含希望在許多項目中共享的代碼的類,例如共享業務邏輯,然后在不同類型項目中的引用它。
-
? PCL還可以幫助您快速輕松地為Microsoft平臺構建跨平臺應用程序和庫。
-
? 可移植類庫可以幫助您減少開發和測試代碼的時間和成本。
-
? 使用此項目類型編寫和構建可移植的.NET框架程序集,然后從針對多個平臺(如Windows和Windows Phone等)的應用程序中引用這些程序集。
??備注:Visual Studio 2017開始就不叫可可移植類庫了,改名叫.net標準類庫,所在Visual Studio 2017中直接創建.net標準類庫即可,下面是 Visual Studio 2015的操作方法,如果你使用Visual Studio 2017可以直接忽略下面的內容,直接看后面的“添加StringLib類”部分。
? 現在,讓我們從解決方案資源管理器中刪除我們創建的類庫。同時,將其從“解決方案”文件夾中刪除,并進一步添加新的項目項。
? 在左窗格中選擇Visual C# → Windows模板,并在中間窗格中選擇類庫(可移植)。
? 在名稱字段中輸入StringLibrary,然后單擊確定創建此項目。
? 現在我們需要選擇要引用的目標框架。讓我們選擇Windows Universal和ASP.NET Core,單擊確定。
? 你可以看到它已經創建了一個PCF格式的新項目。現在讓我們在解決方案資源管理器中右鍵單擊StringLibrary項目,然后選擇屬性。
? 點擊目標.NET標準平臺,彈出的提示框單擊確認。
? 它現在是同一個類庫,只有一個小區別。不同之處在于,UWP也可以使用它,因為它包含*.csproj文件。
?
添加StringLib類
? 現在讓我們添加一個新類;為此,您需要右鍵單擊解決方案資源管理器中的項目,然后選擇添加→類...
? 在中間窗格中選擇類,在名稱字段中輸入StringLib.cs,然后單擊添加。一旦添加了類,然后替換StringLib.cs文件中的以下代碼。
using?System;? using?System.Collections.Generic;? using?System.Linq;? using?System.Text;? using?System.Threading.Tasks;?namespace?StringLibrary?{?public?static?class?StringLib?{?public?static?bool?StartsWithUpper(this?String?str)?{?if?(String.IsNullOrWhiteSpace(str))?return?false;?Char?ch?=?str[0];?return?Char.IsUpper(ch);?}?public?static?bool?StartsWithLower(this?String?str)?{?if?(String.IsNullOrWhiteSpace(str))?return?false;?Char?ch?=?str[0];?return?Char.IsLower(ch);?}?public?static?bool?StartsWithNumber(this?String?str)?{?if?(String.IsNullOrWhiteSpace(str))?return?false;?Char?ch?=?str[0];?return?Char.IsNumber(ch);?}?}? }?
? 讓我們構建這個可移植類庫項目,它應該可以編譯而不會出錯。現在,我們需要在我們的控制臺項目中添加這個便攜式類庫的引用。因此,展開FirstApp,右鍵單擊引用并選擇添加引用…
? 在“引用管理器”對話框中,選擇StringLibrary,這是我們的可移植類庫項目,然后單擊“確定”。
? 你可以看到StringLibrary引用被添加到控制臺項目中,它也可以在project.json文件中看到。
? 現在,您可以再次運行應用程序,您將看到相同的輸出:
總結
以上是生活随笔為你收集整理的【转】.NET Core 可移植类库PCL Portable Class Library详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Arcgis自下而上从左到右进行编号
- 下一篇: 【转】.NET 自带的动态代理+Expr