2012-10-12 201 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