2013-05-15 14 views
0

當我爲Team Foundation Service創建構建時,我得到所有引用dll的未找到的異常。在Team Foundation Service中找不到引用的Dll(或:nuget包在其他pc上不可用)

這些引用是由塊金程序包添加的。

我在添加了.NuGet文件夾中的3個文件的解決方案中添加了「包恢復」選項。

編輯

當我從TFS在另一臺電腦的解決方案,我得到了同樣的錯誤(缺少DLL的),所以它不僅是TFS建立有服務問題。

缺少的DLL是缺少已安裝nuget軟件包的文件(有些是默認VS模板的一部分,Unity是我後來添加的軟件包),哪些(軟件包)被添加到第一臺PC上,但後來丟失在下一個電腦上(這就是爲什麼我在這個問題的標題中添加'或')

我怎樣才能讓Nuget在pc2上添加文件呢?

回答

1

我猜你現在已經找到了解決方案。我寫這個只是爲了給這個問題提供一個答案。

要在另一臺PC上自動下載NuGet軟件包,您需要在構建時啓用NuGet軟件包恢復。您分兩步執行:

  1. 右鍵單擊解決方案並選擇啓用NuGet包恢復。 這將在NuGet.Config,NuGet.exe和NuGet.targets下添加一個.nuget解決方案文件夾。這些文件實際上應該簽入到源代碼控制,但二進制文件很小。它還將修改解決方案的所有項目中的MSBuild腳本,以導入NuGet.targets文件以將NuGet掛鉤到構建過程中。

  2. 在工具 - >庫軟件包管理器 - >軟件包管理器設置中,確保選中'允許NuGet在生成過程中下載缺失的軟件包'。 這一步必須在所有機器上完成。

現在所有項目的BuildDependsOn屬性構建腳本應該在NuGet.targets的RestorePackages目標踢和下載缺少的軟件包你生成錯誤缺少引用之前。

相關問題