当我从TFS下载解决方案后第一次打开解决方案时,它(Vs2010)无法找到NuGet.targets文件。
我已经检查了TFS并将其标记为已下载,并且它存在于文件系统中。
如果我再次尝试直接从TFS打开解决方案,它会突然发挥作用。
我觉得这就是我的自动构建也失败的原因。
之前有没有人遇到过这个问题?
答案 0 :(得分:10)
今天进入这个星期五和另一台机器。
对于周五的机器,我复制了.nuget目录,因为我没有。
对于今天的机器,它有.nuget目录并从另一台机器复制它没有解决问题。从TFS的Source Control Explorer打开它也不起作用。
然后我们按照Opening project in Visual Studio fails due to nuget.targets not found error上的步骤(在解决方案上启用Package Restore)并且它没有问题。
上周之前没有遇到过这个问题,这只是众多项目中的一个项目,没有其他人遇到过这个问题。
答案 1 :(得分:3)
当Visual Studio从TFS下载解决方案(双击解决方案资源管理器中的sln文件)时,它似乎逐个下载文件并加载它们。不幸的是,它似乎在下载.nuget目录之前尝试打开项目文件,这就是它无法找到文件的原因。它似乎做的最后一件事是下载该文件,这解释了为什么它在磁盘上但是给出了错误。如果您重新打开解决方案,它已经存在且工作正常。
当TFS Build服务器下载要构建的解决方案时,它会在解决方案目录中执行此操作。这意味着它会在尝试构建之前获取.nuget目录,因此它不会导致构建服务器出现问题。
我相信这是Visual Studio中的一个错误,它应该首先下载所有解决方案项目。虽然它与TFS Builds具有相同的行为会很好。
解决此问题的方法是在首次打开解决方案之前获取解决方案文件夹的最新信息。不理想,但它的工作原理。
我还建议使用nuget或visual studio团队记录错误,但我怀疑他们可能已经意识到了这一点。
答案 2 :(得分:2)
我尝试在http://www.windowsazure.com/en-us/develop/net/tutorials/multi-tier-web-site/2-download-and-run/
处完成教程时遇到此问题将源代码提取的zip文件解析为包含逗号的文件夹,我不认为msbuild喜欢。将其移动到更安全命名的目录中有帮助。
答案 3 :(得分:0)
尝试以下步骤