所以,我在我的解决方案上启用了包还原 - Install-Package NuGetEnablePackageRestore
我已经在 TFS 构建服务器上安装并更新了 NuGet
我在 TFS 构建服务器上创建了环境变量 - http://www.centrolutions.com/blog/post/2012/07/05/NuGet-and-TFS-2010-Automated-Build.aspx
我已经删除了所有 packages.config 文件,并在每个项目上重新开始。
我已将 .nuget 文件夹路径添加到构建作业,以及定义的构建代理文件夹
我几乎完成了我的绞索,并计划在黎明时上吊……我错过了什么吗?
忘记放 TFS 构建错误
C:\Builds\10.......nuget\nuget.targets (76):包还原默认禁用。要给予同意,请打开 Visual Studio 选项对话框,单击包管理器节点并选中“允许 NuGet 在构建期间下载丢失的包”。您还可以通过将环境变量“EnableNuGetPackageRestore”设置为“true”来表示同意。
和
C:\Builds\10.......nuget\nuget.targets (76):命令“C:\Builds\10......nuget\nuget.exe”安装“C:\ Builds\10......\packages.config" -source "" -o "C:\Builds\10......\packages"" 以代码 -1 退出。
删除了安全的完整路径。
发现:
我的 TFS 管理员将环境变量设置为 USER 变量!我只是想我会要求她告诉我她是如何配置它的,一旦她这样做,我就意识到这是错误的。
我不再收到包还原错误...哇!但是,我收到“无法找到版本”错误,这让我认为 TFS 框不知道正确的包源。我已经验证可以从 TFS 构建框访问包源,并且我已经在该框上配置了 NuGet 以引用包共享。
没有包服务器可以做到这一点吗?我一直在为我的所有本地构建使用文件共享,但我想知道当它到达 TFS 框时规则是否会改变。我需要在 Nuget.config 文件中定义我的包源吗?