本周我更新到VS2015,并在我的网站解决方案中更新了所有NuGet包。
网站在本地构建并运行正常,但是当我在我的构建服务器上进行门控检查时,在构建失败时会得到以下内容
正如您所看到的那些软件包正在抱怨NuGet版本,但我不确定如何更新构建服务器上的NuGet版本。我确实拥有服务器的管理员权限,但遵循http://blog.stangroome.com/2014/02/04/update-nuget-exe-version-used-by-team-build-2013-package-restore/所描述的公会没有帮助。首先,我的文件夹实际上是C:\Program Files\Microsoft Team Foundation Server 11.0\Tools
,不像指南中描述的C:\Program Files\Microsoft Team Foundation Server 12.0\Tools
,但另外我在文件夹中没有NuGet.exe。
我已经对NuGet.exe进行了完整的硬盘搜索,但除了与项目源代码(.nuget \ NuGet.exe)直接相关的目录外,无法在任何目录中找到它。
我已经在服务器上打开了visual studio,并在“扩展和更新”中更新了NuGet版本,希望能解决问题,不幸的是它没有。
有关如何解决屏幕截图中显示的问题/错误的任何想法?
答案 0 :(得分:1)
问题是你正在使用旧式的,已弃用的NuGet 2.7风格的包恢复"这是基于修改您的CSProj文件以包含对NuGet.targets文件的引用和NuGet.exe的副本,该副本被放入.nuget
文件夹并最终受源控制。
基本上,构建服务器上的nuget.exe版本现在无关紧要 - 您的CSProj文件指向.nuget
文件夹中的文件。
2013年及以后的TFS支持自动包恢复,而不使用NuGet.targets方法。您可以非常轻松地迁移它:https://docs.nuget.org/consume/package-restore/migrating-to-automatic-package-restore