我正在尝试解决以下输出之间的两个差异:
- 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 这样做,是否有原因?同样,是否可以通过任何配置步骤消除这种差异?