首页 > 解决方案 > 通过 TeamCity 构建时的文件名编码问题,但如果登录到机器并手动构建则不会

问题描述

使用 TeamCity 编译项目时遇到问题。如果我登录机器并使用 msbuild 手动运行构建脚本,它可以正常编译,所有自定义构建任务都会按预期编译和运行,测试编译和运行,并且创建安装程序的脚本也可以正常运行。

但是,一旦我使用来自 TeamCity 的相同 msbuild 版本运行相同的构建脚本,我就会遇到编码问题。

在一个地方,我有一个将docx文件转换为pdf的构建任务。它需要一个要转换的文档列表,并且其中一个名称包含德语字符。这在 TeamCity 日志中显示为黑色菱形上的问号,构建任务报告它找不到该文件并且构建失败。

我尝试将 msbuild 脚本的所有文件编码转换为 utf-8 并添加了很好的措施

<?xml version="1.0" encoding="UTF-8"?>

到每个构建脚本。无论如何都会发生完全相同的错误。

我尝试在 TeamCity中使用msbuild构建步骤以及命令行构建步骤,并手动调用我在登录机器和手动构建时使用的相同 msbuild。所有尝试都会导致完全相同的错误。

TeamCity 本身是否有一些设置我必须更改以避免这种情况或可能导致它的原因?

使用的版本:

标签: .netmsbuildteamcitymsbuild-task

解决方案


推荐阅读