2

我正在尝试解决以下输出之间的两个差异:

  • Windows 8 / Visual Studio 2015 / MSBuild 和
  • Debian 8.2 / Mono 版本 4.6.2.0 / XBuild 引擎版本 14.0

这两个问题都在此示例 repo 中有详细说明:https ://github.com/DavidACL/SatelliteAssemblyCustomAttributesIssue/tree/master 该项目是一个简单的 C# / .net 4.5 应用程序演示问题(包括 XBuild 输出)。

Mono Missing Satellite Assembly Custom Attributes and Version我相信第一个问题,标题为.cgi?id=12671

但是,我找不到关于第二个问题的任何信息:

通过右键单击 .exe 或 .dll 并查看详细信息选项卡来查看语言属性时,MSBuild 和 XBuild 输出之间似乎存在差异。如果您有卫星组件,则存在进一步的差异。

MSBuild:正如预期的那样,主要程序集具有详细信息选项卡语言(如果在 Visual Studio 中打开 DLL / EXE 并检查了值,则技术上是块标题)= 语言中性。

同样,MSBuild de-DE 附属程序集 .dll 具有详细标签语言 = 语言中性

集会:

在此处输入图像描述

卫星组装:

在此处输入图像描述


Mono / XBuild:主程序集有详细标签语言=不变语言(不变国家),de-DE卫星程序集有详细标签语言=德语(德国)

集会:

在此处输入图像描述

卫星组装:

在此处输入图像描述

虽然我知道 Mono 可能使用 Invariant Langauge 代替 Neutral 作为默认值,但有没有办法扭转这种情况以实现 MSBuild 和 XBuild 之间的匹配(可能通过配置步骤)?MSBuild 不将附属程序集的语言环境传播到详细信息选项卡的语言字段,而 XBuild 这样做,是否有原因?同样,是否可以通过任何配置步骤消除这种差异?

4

1 回答 1

1

不要期望很快就会有复杂的 xbuild 错误修复,因为Microsoft 的MSBuild已经开源,而且 Xamarin 团队已经做了一些工作以使其跨平台(例如,它已经包含在 Mono 的 Mac 安装程序中)。

debian 开发人员(或贡献者,如您?)打包它只是时间问题(xbuild 已被弃用)。同时,您可以自己构建并尝试一下。

于 2016-11-26T05:36:39.950 回答