我使用Linux Jenkins主服务器和Windows 10服务器进行配置。我正在使用它在slave上执行msbuild操作并生成安装可执行文件作为工件。我有一个Jenkins Windows 10主系统(我用作奴隶的同一个),这一切都很好。但是,当我远程运行相同的工作时,我得到了可怕的“CS1031”错误:
Properties \ AssemblyInfo.cs(1,1):错误CS1031:预期类型[C:\ slave2Workspace \ workspace \ SDB Projects \ CCMonitor \ CCMonitor \ CCMonitor \ CCMonitor.csproj]
这是指向文件中的第一个字符。如果我省略了使用Change Assembly Info插件的作业步骤,一切正常,我输出正确。我发现AssemblyInfo.cs文件缺少文件前面的字符0xEB 0xBB - 这些在翻译中被丢弃了。听起来像是一个字符集问题,但这只是这个插件步骤的一个问题。
是否需要以不同方式配置?
谢谢!
答案 0 :(得分:4)
所以今天我遇到了同样的问题并找到了解决方案。不确定你是否想过这个,所以我想放弃解决方案以防万一。
原来是一个编码问题。汇编文件采用带签名的UTF-8编码。作为避免将字符添加到文件开头的解决方法,请将编码更改为UTF-8而不签名。
我是通过在notepad ++中打开文件,然后选择Encoding - >来完成此操作的。用UTF-8编码
答案 1 :(得分:2)
如果您使用的是Visual Studio(在我的情况下为2017)
VS可能会告诉您已经存在这样的文件,您可以选择覆盖它。 Commit>使用源代码控制(在我的情况下为git)推送,瞧-就是这样。