我在两种情况下遇到这个问题。
首先,当我尝试使用msbuild.exe从命令行构建我的解决方案时。 其次,当我尝试使用TFS和CI在我的构建服务器上构建sln和包含的项目时。
我收到错误,声称缺少引用。在检查我的本地编译目录和TFS服务器时,我发现/ packages文件夹没有创建,并且nuget软件包没有被复制。按照亚历山大的回答http://nuget.codeplex.com/workitem/1879列出的说明也没有为我工作。
我已启用恢复包通过VS2010和我已经看到构建只能在VS2010内工作。同样,使用msbuild失败。我的解决方法可能是完全无效的,但对于我的环境,这使得本地命令行以及TFS中的CI构建都可以工作。
我走进\的NuGet并在.nuget \ NuGet.targets文件改变了这一行:
来自:
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" -o "$(PackagesDir)"</RestoreCommand>
于:(通知,而没有围绕变量引号)
<RestoreCommand>$(NuGetCommand) install $(PackagesConfig) -source $(PackageSources) -o $(PackagesDir)</RestoreCommand>
据我所知,如果我的目录中有空格,这将失败,但我没有空间在我的目录中,所以这种解决方法让我的构建成功完成......对于ti我是。
我会说打开构建中的诊断级日志会帮助显示msbuild正在执行的命令。这就是导致我暂时攻击目标文件的原因。
您是否看到在输出日志中触发nuget.exe? – Pranav
而且重要的是:您是否在输出日志中看到任何错误? – maartenba