通过TeamCity构建时出现文件名编码问题,但如果登录到计算机并手动构建则不会出现文件名编码问题

时间:2019-02-04 06:57:31

标签: .net msbuild teamcity msbuild-task

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

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

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

我已经尝试将msbuild脚本的所有文件编码都转换为utf-8,并增加了

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

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

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

TeamCity本身是否需要更改某些设置以避免这种情况或可能导致这种情况的原因?

使用的版本:

  • TeamCity 2018.2.2(内部版本61245)
  • Msbuild(Microsoft.NET \ Framework \ v4.0.30319 \ msbuild)。因此,Build Engine 4.7.2046.0和.NET Framework版本4.0.30319.42000
  • 构建服务器操作系统Windows Server 2012 R2
  • 在Windows 10 Pro上构建代理

0 个答案:

没有答案