2015-10-13 61 views
3

我們正在使用VS 2015和VSO。 Nuget包恢復不適用於我們,這迫使我們檢查20多個nuget包dll(壞習慣)。如何在VSO中啓用Nuget包恢復

我試圖通過下面的鏈接啓用VSO上的nuget包恢復。

How to enable nugets package restore in Visual Studio 2015?

https://docs.nuget.org/consume/package-restore/migrating-to-automatic-package-restore

但包似乎恢復並不奏效。我不知道如何執行nuget.exe。

請問有人可以分享您是否有工作,以及如何工作。

+1

程序包恢復無法正常工作?在Visual Studio中或在Visual Studio Online上構建(在這種情況下,您使用哪種構建引擎)? –

+0

在Visual Studio Online上構建期間,程序包還原不起作用。我們正在使用MSBuild。 –

+0

而您正在使用基於XAML的構建或新的基於Web的構建系統? –

回答

1

將NuGet包檢入版本控制不是一個好主意。您需要將其刪除,然後再使用的NuGet恢復:

如果與vNext工作VSO搭建系統,所有你需要做的是檢查恢復的NuGet包複選框在構建定義,選擇你想建立的.sln文件。

enter image description here

如果一個XAML構建定義工作,也有一些步驟(描述here),你需要爲了有VSO(TFS)中恢復這些的NuGet包材過程中遵循。

  1. 將以下項目添加到解決方案。 (該nuget.config和.tfignore文件的內容可以發現here

enter image description here

  • 添加一個build.proj文件溶液的根路徑下夾。 (可以找到build.proj文件的內容here

  • 在解決方案文件夾的根路徑下創建一個名爲的工具文件夾。創建NuGet子目錄下的工具文件夾,下載並保存nuget.exe下的tools \ NuGet路徑。

  • 入住nuget.config.tfignorebuild.proj工具\的NuGet \ nuget.exe到TFS版本控制。

  • 修改構建定義以選擇構建build.proj文件。 enter image description here
  • 然後,您將在TFS構建過程中成功恢復NuGet包。

    +0

    我可以用本地構建以及在我們的visual studio在線構建中重新制作。到目前爲止,我們遇到這個問題的唯一項目就是vso項目。事件項目不是源自VSO,而是用作遠程。它似乎很容易重現。在您說.ignore文件之前,我們可以確認我們的nuget包不在存儲庫中,並且從來不是 –

    +0

    答案中的「build.proj文件」鏈接(http://docs.nuget.org/consume/package-restore/team-build)現在重定向到https://docs.microsoft.com/en-us/nuget/consume-packages/package-restore#package-restore-with-team-foundation-build。您可以在這裏找到自2015年11月鏈接到的網頁的緩存版本:https://web.archive.org/web/20151110073248/http://docs.nuget.org/consume/package-restore/team-build –