.Net Core 項目引用本地類庫方式(一)


最近了解到.NET Core 項目,引用本地類庫DLL的方式有三種

1、非同解決方案下的引用,直接引用,瀏覽,找到對應的DLL,然后確定引用。

這種方式有個不好的地方就是,如果引用的DLL文件里面,也引用了第三方DLL,那么通過這種方式引用,第三方DLL不會跟着引用進來,需要在項目里面重新又引用一次。

 

2、同解決方案下,通過項目引用

這種方式,就不需要再同解決方案下, 這樣會項目太大,編譯較慢,不過不存在上面那種方式的問題;

3、類庫生成包,然后站點通過NuGet方式引用。今天重點記錄一下這種方式的詳細操作過程;

①、新建.Net Core 類庫

類庫里面新建一個類即可,類里面增加幾個屬性,只作為測試

類庫已經建好,下面開始打包,可以通過nuget命令方式打包,也可以直接選中項目,右鍵打包即可

a、命令方式:

打開nuget 控制台

輸入如下命令

dotnet pack F:\測試項目代碼-待刪\CoreTest.Library\PigMGT.DB.PigMGT_Stat --output F:\測試項目代碼-待刪\CoreTest.Library\nupkg   

前面的地址是需要生成的項目文件路徑,后面的output 接的路徑是指包文件生成路徑

2、直接鼠標右鍵方式:

這種方式默認包生成路徑在該項目下,Bin =》debug 文件夾下,這里重點看下,這種方式有個問題就是第一次點擊發包,然后生成成功,但是當你再次點擊發包,則失敗

提示成功0個,這代表重新打包失敗了,需要右鍵點擊清理后才可以再次進行打包。

好啦,通過上面的操作,我們的類庫包已經打包好了,可以看看包文件

文件后綴是nupkg 格式的,注意看下,這里的1.0.0 是對應的版本好,這個很重要,下面會詳細說到;

②、.NET Core 項目引用包的操作方式

前面有說到,引用包是通過nuget 的方式引用的,這個也是Core的一個特色,引用第三方插件都是通過nuget 的方式直接搜索安裝即可,下面來操作一下,先配置一下數據源,因為默認是沒有你本地的包文件數據源的

添加一個程序源,記得路徑要改為你的包路徑,點擊確定

然后再進行引用

 

這里就可以看到我們剛建的類庫項目了,選中直接安裝即可,這樣就已經引用成功啦

 

 后台代碼直接就可以調用這個包里面的類進行操作了,這樣整個操作已經完成,不過我在操作過程中,有遇到幾個問題,這里重點記錄一下

1、重復打包失敗問題,前面有說到,需要清理后重新打包即可;

2、如果包需要更改,更改后怎么重新打包引用。

我在測試過程中,在類里面加了個屬性,但是重新引用后,還是沒有變成改之后的參數,不管是刪掉nuget程序源或重新建站點,都是如此,懷疑是不是包的問題,把更新后的包給同事,但是在他那邊卻是更新后的包,這樣,就確定了包其實是沒有問題的,后面,發現了這個其實和包的版本有關,前面有說到那個版本問題,默認是1.0.0,如果這個版本不變,則即使包更改了,重新引用還是如此,都是改之前的,解決方式就是更改包源文件后,需要更改他的包版本,再打包,如下:

更改后然后重新打包,然后包的文件就變成了,名稱和版本號保持一致(不要想說重命名包名就可以,我試過了,是不行的哦),此時,版本號變了后,站點Nuget 解決方案就會自動有更新的提示,你直接點擊安裝即可,這樣,就已經更新到了最新的包版本,這種方式就有個問題,如果每次更新類庫了,都需要改它的版本號才行,我目前了解是這樣,也許有其他方式

這里還提示一下,打包方式不會存在包里面引用第三方插件還需重新引用的問題。

好啦,以上完畢,我也是才接觸,如果有什么問題大家只管留言,三克油

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM