2012-10-12 458 views
2

我的目標是讓軟件包恢復在構建服務器上工作,這樣我就不必檢查二進制文件。目前,我只是試圖讓它在我自己的機器上使用Visual Studio工作。nuget - 軟件包恢復不起作用

這是我到目前爲止已經完成:

  1. 按照說明這裏http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages,包括設置工具 - 選項標誌和環境變量(帶和大括號)
  2. 安裝了NuGetEnablePackageRestore封裝這裏建議NuGet package restore consent without NuGet
  3. 檢查(.nuget解決方案文件夾及其內容)中的所有內容,但不是我想參考的二進制文件,因爲這是練習的全部要點

下面是我在做什麼:

  1. 退房的解決方案
  2. 驗證nunit.framework.dll中和moq.dll中不存在的,簽出的解決方案
  3. 構建解決方案

Visual Studio抱怨Moq缺失。我搜索在解決方案目錄中的DLL和發現:

  1. nunit.framework.dll中出現在適當的bin文件夾中
  2. Moq.dll是無處可尋

但有更多。這真的很神祕,但如果我做一個新的結賬,斷開互聯網並建立,我得到完全相同的結果 - nunit.framework.dll在那裏,但moq.dll不是。 構建過程從頭開始喚起nunit.framework.dll。

所以說我完全被困惑是有點輕描淡寫的。任何人都可以建議以下問題的答案:

  1. 爲什麼包恢復不下載Moq?
  2. 從哪裏可以得到nunit.framework.dll的構建過程,如果不是互聯網呢?

回答

1

好的,我在文檔中注意到啓用軟件包恢復應該修改項目文件以添加新目標。我的項目文件沒有這個變化。右鍵單擊VS中的解決方案標題並選擇「管理NuGet包...」,然後添加所需的更改和所有應該構建的內容。

我檢查過了,當我沒有網絡連接時,包恢復仍然可以正常工作,所以我仍然對此感到困惑。 NuGet是否在解決方案之外維護某種二進制緩存?

2

In vs,Options,Package Manager ...有一個「包緩存」部分,如果你點擊「瀏覽」按鈕,它會帶你到你的機器中的nuget緩存的位置。

+0

謝謝。這真的幫助我澄清事情。 – David

+1

選項 - > NuGet程序包管理器 - >常規 - >瀏覽。或工具 - > NuGet程序包管理器 - >程序包管理器設置 - >常規 - >瀏覽。 – Sai