Jenkins結合.net平台工具之Nuget


我們剛剛通過msbuild在Jenkins環境下把一個控制台項目生成exe可執行文件,如果我們引用了nuget包,也能夠正常生成,但是我們知道,我們在把項目提交到git或者svn上的時候並不包含這些包,我們把項目從git上拉到下來后用vs打開,vs會首先來還原這些nuget包,同樣,如果我們是使用msbuild.exe來構建這些項目,也需要首先還原nuget包,否則項目由於缺少依賴而無法正常編譯,下面我們就介紹如何使用nuget.exe來還原項目依賴.

產生我們在項目中添加對Newtonsoft的引用,然后控制台改成以下語句

然后我們做一次提交,把它提交到github上,提交以后刪除本地項目,然后再從github上拉取.這樣下載下來的默認是沒有Newtonsoft包的(因為我們提交的時候默認忽略)

此時我們再將執行上一篇中的構建命令,將會出現構建錯誤,console output輸出如下

可以看到都是關於Newtonsoft的錯誤,正如我們所料,由於缺少依賴無法正確編譯項目.

下面我們新建一個項目一個項目,用nuget.exe來執行還原,然后再使用msbuild.exe來執行編譯.

我們創建一個freestyle 項目,命名為BuildWithNuget

在Add Build Step里添加一個Execute windowsbatch command

首先我們先要找到nuget.exe所在位置(可以通過windows搜索或者everything搜索),然后 添加restore命令 restore后面跟的是要返原的項目的sln文件或者csproj文件.

配置完成后我們點擊保存,然后執行Build Now

如果配置沒問題,將會生成一條執行成功記錄,點擊記錄查看console output,內容如下

 

可以看到Newtonsoft.json.11.0.2已經添加到指定目錄.我們修改項目,再點擊Add Build step在還原nuget包下面再添加一個構建步驟,仍然選擇Execute windows batch command

點擊保存,執行build now

如果配置正確,則會生成一條成功記錄,查看這條構建記錄的console output,內容如下

我們進入bin目錄下的myrelease目錄(項目指定生成在myrelease目錄下),此時可以看到項目已正確生成.我們點擊consoletest.exe,可以看到對象已被序列華輸出


免責聲明!

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



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