NuGet包引用依賴問題


如A包需要引用B包,然后在項目中安裝A包時,自動把B包也裝上。

在nuget命令行打包的時候,如果是指定項目的csproj文件進行打包的,都只能打包當前項目的dll,那么如果使用了第三方的dll而沒有使用nuget進行安裝,往往不會把這些dll打包進去,解決方法如下:

1、在要打包nuget的項目上,用nuget進行安裝這些dll。好處:在用命令行打包時,會自動把依賴寫入到nuget包的配置文件,然后安裝這個項目打的nuget包時,會自動獲取這些依賴dll的包。適合批處理打包和推送。

2、生成nuspec文件,然后手動添加files節點進行引入,詳細參考:http://doc.nuget.org。缺點:需要手動編輯nuspec配置文件,不能很方便的用批處理打包和推送,需要麻煩的使用批處理操作配置文件,然后再打包和推送。

3、生成nuspec文件,然后用批處理或者powershell修改files節點,然后拷貝依賴的dll到指定目錄,最后在nuget打包。缺點:批處理或powershell腳本非常麻煩的處理,容易出錯,最后成功了之后也適合打包和推送。

以上操作都可用GUI工具進行打包推送,但是對於自動構建的項目不太適合,第一種方式完美解決。

最后發現:在nuget打包時,是無法用命令行添加依賴包和dll的。


免責聲明!

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



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