我使用Visual Studio 2013,并且正在使用TFS 2012(更新3)。我有一个相对较小的项目,可以在本地以及其他机器上构建,我只需从源代码控制中获取最新版本。当我在构建服务器上构建时,我得到以下几个错误:
名称空间'yyy'中不存在类型或命名空间名称'xxx'(您是否缺少程序集引用?)
针对不同的命名空间抛出了其中一些错误,包括Entity和其他NuGet包。
起初我认为构建服务器没有恢复NuGet包,但经过一些调查后,似乎这些包实际上已下载到构建服务器上。
我在VS中设置了自动包恢复,并添加了系统环境变量“EnableNuGetPackageRestore = true”。为了仔细检查,我在服务器上手动执行了以下恢复命令:
nuget.exe恢复fullpath_to_solution \ solution_name.sln
,输出结果为:
packages.config中列出的所有软件包已经安装
然后我认为,由于TFS比VS(2013)更早(2012年),或许我需要安装.Net 4.5.1。但事实证明,.Net 4.5.1已经安装在构建服务器上。
有关如何在服务器上构建此项目的任何建议?
答案 0 :(得分:1)
可能是很多问题,可能是代理问题。
使用构建帐户登录构建服务器。 尝试在VS中构建解决方案。 查看是否在构建时恢复了包。
然后,您应该能够追踪问题。
最好的办法是删除工作区中的内容,然后构建以确保在签入之前正确恢复所有包