日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux上还原自主nuget包需要注意的问题

發布時間:2023/12/4 linux 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux上还原自主nuget包需要注意的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題的產生的背景

由于我們使用了jenkins進行部署(jenkins~集群分發功能和職責處理),而對于.net core項目來說又是跨平臺的,所以對它的項目拉取,包的還原,項目的編譯和項目的發布都是在一臺linux的jenkins節點上進行的,而我們開發時是在windows系統,所以在進行還原和編譯時出現了一些問題,今天的文章主要是解決這些問題的。

.net frameworks時代

我們在.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的工具-選項里去添加它。

.net core時代

在進行跨平臺的core時代后,我們的packages文件夾沒有了,之前的包都被存儲到了obj目錄下面,而包的映射關系在obj\project.assets.json這個文件里,我們可以看到當前項目引用的包包,包包的源,包包的緩存等信息。

注意:nuget在各大系統中源地址的路徑

  • Windows 中路徑是 %appdata%NuGetNuGet.Config ,

  • Mac 與 Linux 中的路徑是 ~/.nuget/NuGet/NuGet.Config

  • 如果沒有 NuGet.Config 文件,可以運行 dotnet restore 命令生成。

  • 還原自主Nuget包需要注意的問題

  • 你的nuget自主服務器需要被當前linux服務器訪問到

  • 需要在linux里建立一個全局的nuget.config文件,把自主源地址添加

  • 把obj目錄添加到源代碼管理里

  • dotnet restore還源項目,依賴包由obj\project.assets.json文件確定

  • dotnet build編譯項目里,需要有Roslyn文件夾的執行權限

  • 最后才是成功發布

  • 生成過程中的一些錯誤截圖

    自主依賴包找不到

    沒有對Roslyn的執行權限

    最后,等待我們的才是成功!

    成功得來不容!

    希望通過我們的分享,可以幫到正遇到問題的您!

    原文地址:http://www.cnblogs.com/lori/p/7605460.html


    .NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

    總結

    以上是生活随笔為你收集整理的linux上还原自主nuget包需要注意的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。