Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins更改程序集信息插件在Linux主机和Windows从机上不工作_Jenkins_Msbuild - Fatal编程技术网

Jenkins更改程序集信息插件在Linux主机和Windows从机上不工作

Jenkins更改程序集信息插件在Linux主机和Windows从机上不工作,jenkins,msbuild,Jenkins,Msbuild,我有一个使用Linux Jenkins主机和Windows 10从机的配置。我使用它在从机上执行msbuild操作,并生成一个安装可执行文件作为工件。我在Jenkins的Windows 10主系统(和我作为从系统使用的是同一个主系统)上进行了这项工作,这一切都很好。但是,当我远程运行同一个作业时,会出现可怕的“CS1031”错误: Properties\AssemblyInfo.cs(1,1):错误CS1031:应为类型[C:\slave2Workspace\workspace\SDB Proj

我有一个使用Linux Jenkins主机和Windows 10从机的配置。我使用它在从机上执行msbuild操作,并生成一个安装可执行文件作为工件。我在Jenkins的Windows 10主系统(和我作为从系统使用的是同一个主系统)上进行了这项工作,这一切都很好。但是,当我远程运行同一个作业时,会出现可怕的“CS1031”错误:

Properties\AssemblyInfo.cs(1,1):错误CS1031:应为类型[C:\slave2Workspace\workspace\SDB Projects\CCMonitor\CCMonitor\CCMonitor\CCMonitor.csproj]

这是指向文件中的第一个字符。如果我在ChangeAssembly信息插件中省略了作业步骤,那么一切都可以正常工作,并且我得到了正确的输出。我发现AssemblyInfo.cs文件缺少文件前面的字符0xEB 0xBB——这些字符不知怎的在翻译过程中丢失了。听起来像是一个字符集问题,但这只是这个插件步骤的一个问题

是否有需要进行不同配置的内容


谢谢

所以我今天遇到了同样的问题并找到了解决办法。我不知道你有没有弄明白这一点,所以我想放弃这个解决方案以防万一

结果是一个编码问题。程序集文件编码为UTF-8,带有签名。作为一种避免将字符添加到文件开头的解决方法,请将编码更改为UTF-8而不带签名


我是通过在记事本++中打开文件,然后选择编码->UTF-8中的编码来实现的(如果您使用的是Visual Studio,请选择2017)

  • 打开有问题的文件
  • 选择文件|另存为
  • 在“保存”按钮上,有一个下拉列表,选项为使用编码保存
  • 在编码列表中,选择不带签名的UTF-8
  • VS可能会告诉您已经有这样的文件,您选择覆盖它。 提交>推送你的源代码控制(在我的例子中是git),瞧,就是这样