$(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 安装程序工具”步骤缓存问题的主要内容,如果未能解决你的问题,请参考以下文章

TopN案例

Lua table直接索引VS缓存索引性能测试小示例

如何求解:T(n) = T(n/2) + T(n/4) + T(n/8) + (n)

递归的复杂度:T(n) = T(n-1) + T(n-2) + C

java <T>T和T的区别

Java之泛型<T> T与T的用法