nuget - 我还不知道的 TFS NuGet 技巧?

标签 nuget tfsbuild

所以,我在我的解决方案上启用了包还原
- 安装包 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"install "C:\Builds\10......\packages.config"-source ""-o "C:\Builds\10......\packages""以代码 -1 退出。

为安全起见,删除了完整路径。

发现:

我的 TFS 管理员将环境变量设置为 USER 变量!我只是想我会要求她准确地向我展示她是如何配置它的,一旦她这样做了,我就意识到这是错误的。

我不再收到包恢复错误...呜呜!然而,我收到“无法找到版本”错误,这让我认为 TFS 框不知道正确的包来源。我已经验证可以从 TFS 构建框访问包源,并且我还在该框上配置了 NuGet 以引用包共享。

没有包服务器可以做到这一点吗?我一直在为我所有的本地构建使用文件共享,但我想知道当它到达 TFS 框时规则是否会改变。我需要在 Nuget.config 文件中定义我的包源吗?

最佳答案

从 NuGet 2.0 开始,您需要同意 NuGet 在构建期间下载包(隐私问题)。更多信息在这里:http://blog.nuget.org/20120518/package-restore-and-consent.html

NuGet 包管理器 1.8 添加了在 UI 中给予同意的选项。这是工具->选项->包管理器->常规下的第三项:“包还原:允许NuGet在构建期间下载丢失的包”。

或者,您可以通过将 EnableNuGetPackageRestore Environment 变量设置为 true 来表示同意。

关于nuget - 我还不知道的 TFS NuGet 技巧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11855672/

相关文章:

.net - PCL "profile 111"- 如何在 TFS 构建服务器上安装?

tfsbuild - VSO/VSTS : Error when using Publish Build Artifacts on the host agent

tfs - 在本地测试 TFS 构建工作流

c# - Nuget DLL hell : Could not load file or assembly System. 运行时

nuget - 切换回packages.config

c# - 如何仅在 .nuspec 文件中标记运行时的依赖项?

tfs - 构建代理文件夹如何在编辑构建工作区上工作?

azure - 如何链接到 Visual Studio Team Services 的最新版本

c# - 如何告知 NuGet 过去的迁移

c++ - 在 Visual Studio 中将库与 NuGet 包链接为依赖项