TeamCity On-Premises 2024.03 Help

C# 脚本

C# Script 运行器允许在 Windows 、 Linux 或 macOS 上执行 C# 脚本。 它使用定制的 TeamCity 工具在各个平台上运行 C# Interactive shell。

使用此运行器,您可以执行各种服务任务,如准备构建环境,创建 OS 用户,或向不同的消息传递器进行报告。

参考 配置构建步骤 以获取常见构建步骤设置的描述。 参考 容器包装器 了解如何在容器内运行这一步骤。

前提条件

运行器的要求:

  • .NET 运行时 6.0.0 或更高版本必须安装在构建代理上,或者如果此步骤在 Docker 内部运行,则必须在 Docker 容器中可用。

  • TeamCity.csi软件包必须作为代理工具进行安装。

C# 脚本设置

设置

描述

TeamCity C# 脚本工具

从通过 管理 | 工具 安装的 TeamCity C# 脚本工具中选择一个版本,或者相对于 构建检出目录 输入此工具的自定义路径。

脚本类型

选择以下两个选项之一:直接在运行器中输入自定义脚本体,或指定 C# 脚本文件的路径( .csx)。

C# 脚本

适用于 Custom Script 类型。

输入一个 C# 脚本的代码。

C# 脚本文件

适用于 Script File 类型。

输入到脚本文件的路径,相对于 构建检出目录

脚本形参

输入脚本的参数。 参数作为 实参 数组传递。 查看 支持的参数

参数引用得到了支持。

NuGet 包源

如果您在脚本中引用一个包,TeamCity 将会自动从此字段指定的源下载它。 运行器可以自动解析像 #r "nuget:System.Text.Json"#r "nuget:System.Text.Json,4.7.2" 这样的命令。

默认情况下,TeamCity 会从 NuGet.org 上发布的源还原 NuGet 包。 在此字段中,您可以指定通往其他 NuGet 存储库的路径,TeamCity 将按声明顺序在这些位置搜索包。 如果在指定的存储库中找不到包源,TeamCity 将在 NuGet.org 上进行搜索。

为了能够访问私有仓库,请配置 NuGet feed credentials

您也可以参考一下 TeamCity 内部源

脚本中支持的命令和参数

支持的命令:

命令

描述

示例

#r

添加对 NuGet 包或程序集及其依赖项的引用。

#r "nuget:<package_name>, 1.2.3"#r "<library_name>.dll"

#加载

加载指定的脚本文件并执行它。

#load "<脚本名称>.csx"

#帮助

显示可用命令和按键绑定的帮助。

#l

将详细程度设置为 静默普通跟踪

支持的参数:

  • 脚本参数 字段中提供的 参数 并存储在 实参 数组中(例如, WriteLine(Args[0]) 用于写入第一个脚本参数的值);

  • 系统参数Build Configuration Settings | Parameters中指定,并存储在 Props 字典中(例如, WriteLine(Props["version"]) 用来写入 system.version 参数的值)。

最后修改日期: 16日 7月 2024年