$(Agent.ToolsDirectory) TFS 代理位置? “.NET Core 安装程序工具”步骤缓存问题
Posted
技术标签:
【中文标题】$(Agent.ToolsDirectory) TFS 代理位置? “.NET Core 安装程序工具”步骤缓存问题【英文标题】:$(Agent.ToolsDirectory) TFS agent location? Issues with '.NET Core Installer Tool' step caching 【发布时间】:2020-08-20 14:17:23 【问题描述】:我们有一位开发人员遇到了与以下链接类似的问题:
Build/Publish .NET Core 3.x application with TFS 2018 Update 3.2
我们在构建服务器上安装了 .NET core 3.1.101,但是在使用 .NET Core 安装程序工具步骤运行构建时,它不会获取缓存的版本。它一直试图从互联网安装,这是不允许的。
有人知道 Windows 上 TFS 构建代理的 $(Agent.ToolsDirectory) 位置吗? (我们在 TFS 2018)
注意:我们已将 3.1.101 文件夹放置在尝试测试的几个位置。例如,我们将它放在“E:\agent\buildAgentName_work_tool\dotnet”位置。 *我们创建了 dotnet 文件夹名称。
有什么想法吗?
编辑:更多日志信息...
Tool to install: .NET Core sdk version 3.1.1.
Checking if a cached copy exists for this version...
Cache does not contains this particular .NET Core. Will be downloaded and installed.
...
[error]Failed to download .NET Core package. Please ensure that .NET Core sdk of version 3.1.1 exists. Check out: https://github.com/dotnet/core/blob/master/release-notes/releases.csv
在 TFS 中使用的步骤的 AND 屏幕:
TFS 2018 NET Core Installer Tool
【问题讨论】:
【参考方案1】:Agent.ToolsDirectory
Node Tool Installer 和 Use Python 等任务使用的目录 在工具的多个版本之间切换的版本。这些任务 将从该目录添加工具到 PATH 以便后续构建 步骤可以使用它们。
您可以在这里参考我们的官方文档:Use predefined variables-- Agent variables
由于您使用的是自己的代理,请learn about managing this directory on a self-hosted agent。
更新
然后指向代理,打开capabilities选项卡并点击Add capability。
在左侧空白处输入Agent.ToolsDirectory,并添加您的xxx安装的文件路径。例如,我将它安装在代理的文件 _work_tool 中。
更多细节看这个问题的答案:How to configure different versions of Ruby / any other software in self hosted agent?
【讨论】:
感谢您提供这些链接。我仍然不确定覆盖工作工具目录的环境变量 AGENT_TOOLSDIRECTORY 位于何处。我无法在系统或环境变量中找到它。 @CipherSnake 很抱歉造成误解。我明白你的意思。看来您只是想知道如何配置Agent.ToolsDirectory
,您可以在自托管代理中添加功能。以上是关于$(Agent.ToolsDirectory) TFS 代理位置? “.NET Core 安装程序工具”步骤缓存问题的主要内容,如果未能解决你的问题,请参考以下文章
如何求解:T(n) = T(n/2) + T(n/4) + T(n/8) + (n)