【转】.NET Core 可移植类库PCL Portable Class Library详解
轉(zhuǎn)自:https://www.kaifaxueyuan.com/server/dotnet-core/dotnet-core-portable-class-library.html
?在這一章中,我們將討論什么是PCL (可移植類庫),以及為什么我們需要PCL。為了理解這個(gè)概念,讓我們打開上一章創(chuàng)建的類庫項(xiàng)目文件夾。
什么是PCL
? 現(xiàn)在讓我們了解什么是PCL
-
? 可移植類庫項(xiàng)目使您能夠編寫和構(gòu)建在多個(gè).net框架平臺(tái)上工作的托管程序集。
-
? 您可以創(chuàng)建包含希望在許多項(xiàng)目中共享的代碼的類,例如共享業(yè)務(wù)邏輯,然后在不同類型項(xiàng)目中的引用它。
-
? PCL還可以幫助您快速輕松地為Microsoft平臺(tái)構(gòu)建跨平臺(tái)應(yīng)用程序和庫。
-
? 可移植類庫可以幫助您減少開發(fā)和測試代碼的時(shí)間和成本。
-
? 使用此項(xiàng)目類型編寫和構(gòu)建可移植的.NET框架程序集,然后從針對(duì)多個(gè)平臺(tái)(如Windows和Windows Phone等)的應(yīng)用程序中引用這些程序集。
??備注:Visual Studio 2017開始就不叫可可移植類庫了,改名叫.net標(biāo)準(zhǔn)類庫,所在Visual Studio 2017中直接創(chuàng)建.net標(biāo)準(zhǔn)類庫即可,下面是 Visual Studio 2015的操作方法,如果你使用Visual Studio 2017可以直接忽略下面的內(nèi)容,直接看后面的“添加StringLib類”部分。
? 現(xiàn)在,讓我們從解決方案資源管理器中刪除我們創(chuàng)建的類庫。同時(shí),將其從“解決方案”文件夾中刪除,并進(jìn)一步添加新的項(xiàng)目項(xiàng)。
? 在左窗格中選擇Visual C# → Windows模板,并在中間窗格中選擇類庫(可移植)。
? 在名稱字段中輸入StringLibrary,然后單擊確定創(chuàng)建此項(xiàng)目。
? 現(xiàn)在我們需要選擇要引用的目標(biāo)框架。讓我們選擇Windows Universal和ASP.NET Core,單擊確定。
? 你可以看到它已經(jīng)創(chuàng)建了一個(gè)PCF格式的新項(xiàng)目。現(xiàn)在讓我們?cè)诮鉀Q方案資源管理器中右鍵單擊StringLibrary項(xiàng)目,然后選擇屬性。
? 點(diǎn)擊目標(biāo).NET標(biāo)準(zhǔn)平臺(tái),彈出的提示框單擊確認(rèn)。
? 它現(xiàn)在是同一個(gè)類庫,只有一個(gè)小區(qū)別。不同之處在于,UWP也可以使用它,因?yàn)樗?.csproj文件。
?
添加StringLib類
? 現(xiàn)在讓我們添加一個(gè)新類;為此,您需要右鍵單擊解決方案資源管理器中的項(xiàng)目,然后選擇添加→類...
? 在中間窗格中選擇類,在名稱字段中輸入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);?}?}? }?
? 讓我們構(gòu)建這個(gè)可移植類庫項(xiàng)目,它應(yīng)該可以編譯而不會(huì)出錯(cuò)。現(xiàn)在,我們需要在我們的控制臺(tái)項(xiàng)目中添加這個(gè)便攜式類庫的引用。因此,展開FirstApp,右鍵單擊引用并選擇添加引用…
? 在“引用管理器”對(duì)話框中,選擇StringLibrary,這是我們的可移植類庫項(xiàng)目,然后單擊“確定”。
? 你可以看到StringLibrary引用被添加到控制臺(tái)項(xiàng)目中,它也可以在project.json文件中看到。
? 現(xiàn)在,您可以再次運(yùn)行應(yīng)用程序,您將看到相同的輸出:
總結(jié)
以上是生活随笔為你收集整理的【转】.NET Core 可移植类库PCL Portable Class Library详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Arcgis自下而上从左到右进行编号
- 下一篇: 业绩比较基准是年利率吗?区别很大!