Jenkins結合.net平臺工具之Nuget

咱們剛剛經過msbuild在Jenkins環境下把一個控制檯項目生成exe可執行文件,若是咱們引用了nuget包,也可以正常生成,可是咱們知道,咱們在把項目提交到git或者svn上的時候並不包含這些包,咱們把項目從git上拉到下來後用vs打開,vs會首先來還原這些nuget包,一樣,若是咱們是使用msbuild.exe來構建這些項目,也須要首先還原nuget包,不然項目因爲缺乏依賴而沒法正常編譯,下面咱們就介紹如何使用nuget.exe來還原項目依賴. git

產生咱們在項目中添加對Newtonsoft的引用,而後控制檯改爲如下語句 github

而後咱們作一次提交,把它提交到github上,提交之後刪除本地項目,而後再從github上拉取.這樣下載下來的默認是沒有Newtonsoft包的(由於咱們提交的時候默認忽略) json

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

能夠看到都是關於Newtonsoft的錯誤,正如咱們所料,因爲缺乏依賴沒法正確編譯項目. svn

下面咱們新建一個項目一個項目,用nuget.exe來執行還原,而後再使用msbuild.exe來執行編譯. ui

咱們建立一個freestyle 項目,命名爲BuildWithNuget rest

在Add Build Step裏添加一個Execute windowsbatch command 對象

首先咱們先要找到nuget.exe所在位置(能夠經過windows搜索或者everything搜索),而後 添加restore命令 restore後面跟的是要返原的項目的sln文件或者csproj文件. blog

配置完成後咱們點擊保存,而後執行Build Now get

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

 

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

點擊保存,執行build now

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

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

相關文章
相關標籤/搜索