NuGet Package簽入TFS時勿忘非程式庫Package

公司因為TFS Build Service無法存取網際網路還原NuGet Package,故我們採取將NuGet Packages一律簽入TFS的策略。近日再發現TFS Build Service行為特性一則,筆記之。

某專案使用Build Service編譯時出現NuGet無法還原錯誤,想起專案本次改版時更新NLog版本到4.2.3,趕緊手動補簽入NLog,但編譯持續出錯,疑惑NLog.dll已補為何還是編譯失敗,追了一陣找出答案,專案除了更新NLog,還增加了兩個Package,在專案加入NLog.config以及NLog.xsd:
<package id="NLog.Config" version="4.2.3" targetFramework="net45" />
<package id="NLog.Schema" version="4.0.0" targetFramework="net45" />

當我們講「Build Sevice」、「編譯」,腦中只想到該有的DLL要有,參照不到會編譯失敗。實際上,還原NuGet Packages是建置.NET專案的必要程序,即使cs編譯成DLL的過程用不到NLog.config跟NLog.xsd,但因為它是建置的先期步驟,遇上缺少Package又無法網頁下載補足,就會被判定錯誤導致建置程序中止。

從不覺得NLog.Schema會與編譯有關,遺漏沒簽入導致本次的狀況,問題則在補上NLog.Schema後消失。

補充:由Build Log可以判斷缺少NuGet Package,但不會指出缺少哪一個Package,感覺該寫個小工具協助檢查,嗯,排入ToDo Job Queue,排隊序號57… XD

12>RestorePackages:
     All packages listed in packages.config are already installed.
13>D:\Works\1\XAPP\XAPPWeb-Test\src\.nuget\NuGet.targets(89,9): error : Package restore is disabled by default. To give consent, open the Visual Studio Options dialog, click on Package Manager node and check 'Allow NuGet to download missing packages during build.' You can also give consent by setting the environment variable 'EnableNuGetPackageRestore' to 'true'. [D:\Works\1\XAPP\XAPPWeb-Test\src\Web\XAPPDbService\XAPPDbService.csproj]
13>D:\Works\1\XAPP\XAPPWeb-Test\src\.nuget\NuGet.targets(89,9): error MSB3073: The command ""D:\Works\1\XAPP\XAPPWeb-Test\src\.nuget\NuGet.exe" install "D:\Works\1\XAPP\XAPPWeb-Test\src\Web\XAPPDbService\packages.config" -source ""  -NonInteractive -RequireConsent -solutionDir "D:\Works\1\XAPP\XAPPWeb-Test\src\ " " exited with code 1. [D:\Works\1\XAPP\XAPPWeb-Test\src\Web\XAPPDbService\XAPPDbService.csproj]
13>Done Building Project "D:\Works\1\XAPP\XAPPWeb-Test\src\Web\XAPPDbService\XAPPDbService.csproj" (default targets) -- FAILED.

歡迎推文分享:
Published 27 December 2015 09:21 PM 由 Jeffrey
Filed under: ,
Views: 1,937



意見

沒有意見

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<December 2015>
SunMonTueWedThuFriSat
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789
 
RSS
創用 CC 授權條款
【廣告】
twMVC

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication