【发布时间】:2014-10-21 17:40:36
【问题描述】:
在我们的解决方案中,我们有一个“.nuget”文件夹。此文件夹不包含 NuGet.exe。相反,我们始终确保在构建时使用 NuGet.targets 中的此属性下载最新的 NuGet.exe:
<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">true</DownloadNuGetExe>
这在开发人员的机器上效果很好。始终下载最新版本的 NuGet.exe。
不幸的是,TFS 构建服务器存在问题——出于安全原因(并且超出我的控制),它无法访问 Internet,因此无法根据需要下载 NuGet.exe。相反,它具有我们必须使用的 NuGet.exe 的本地副本(服务器本地)。
那么问题是,我如何告诉 Visual Studio 构建系统始终从 Internet 检索 NuGet.exe,并告诉 TFS 构建系统使用 NuGet.exe 的本地副本?我确定它与构建变量或类似的东西有关。
任何建议将不胜感激。
【问题讨论】:
-
为什么希望本地和团队构建运行不同版本的 NuGet?
-
我们不希望本地和团队构建使用不同版本的 NuGet.exe。我们希望两个环境始终使用最新版本。对于开发人员来说,这很简单:只需将 DownloadNuGetExe 属性设置为 true,正如我在原始帖子中所展示的那样。然而,团队构建更加困难,因为机器无法访问 Internet,因此无法下载最新版本的 NuGet.exe。相反,TFS 管理员将最新版本的 NuGet.exe 放在众所周知的位置。
标签: tfs