我們在.net時代有包管理工具nuget,并且已經知道了它的好處,類似于nodejs的npm,幫助我們管理項目的依賴關系,更新和解除安裝都十分友善,它在.net項目裡被存儲到了解決方案下的packages目錄,而在釋出時,msbuild會根據這個目錄去更新項目,如果這個packages裡沒有對象的包包依賴,就會從nuget源裡進行下載下傳,nuget全局源在windows系統裡,一般存儲在C:\\Users\\lind\\AppData\\Roaming\\NuGet\\NuGet.Config檔案裡,而本地系統也會有一個包包的緩存,一般會存儲在C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\目錄下面,這樣在下次安裝包的時候,就可以直接從本地進行安裝了,官方nuget源的位址是https://api.nuget.org/v3/index.json,如果你自己去定義nuget伺服器的話,也可以把它添加到nuget源裡,直接修改C:\Users\lind\AppData\Roaming\NuGet\Nuget.Config檔案就可以了,或者在vs的工具-選項裡去添加它。
在進行跨平台的core時代後,我們的packages檔案夾沒有了,之前的包都被存儲到了obj目錄下面,而包的映射關系在obj\project.assets.json這個檔案裡,我們可以看到目前項目引用的包包,包包的源,包包的緩存等資訊。

注意:nuget在各大系統中源位址的路徑
Windows 中路徑是 %appdata%\NuGet\NuGet.Config ,
Mac 與 Linux 中的路徑是 ~/.nuget/NuGet/NuGet.Config
如果沒有 NuGet.Config 檔案,可以運作 dotnet restore 指令生成。
你的nuget自主伺服器需要被目前linux伺服器通路到
需要在linux裡建立一個全局的nuget.config檔案,把自主源位址添加
把obj目錄添加到源代碼管理裡
dotnet restore還源項目,依賴包由obj\project.assets.json檔案确定
dotnet build編譯項目裡,需要有Roslyn檔案夾的執行權限
最後才是成功釋出
自主依賴包找不到
沒有對Roslyn的執行權限
最後,等待我們的才是成功!
成功得來不容!
希望通過我們的分享,可以幫到正遇到問題的您!
感謝各位閱讀!