【问题标题】:Mono / XBuild Invariant Language (Invariant Culture) vs. VS2015 MSBuild's Neutral LanguageMono / XBuild Invariant Language (Invariant Culture) vs. VS2015 MSBuild 的 Neutral Language
【发布时间】:2017-04-01 23:07:48
【问题描述】:

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

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

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

第一个问题,标题为 Mono Missing Satellite Assembly Custom Attributes and Version,我相信,已由待处理的 PR https://github.com/mono/mono/pull/3463 解决,并在此编译器错误 https://bugzilla.xamarin.com/show_bug.cgi?id=12671 中指出

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

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

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

同样,MSBuild de-DE 附属程序集 .dll 具有 detail-tab language = Language Neutral

组装:

卫星组装:


Mono / XBuild:主程序集有detail-tab language = Invariant Language(不变国家),de-DE 附属程序集有detail-tab language = German(德国)

组装:

卫星组装:

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

【问题讨论】:

    标签: mono assemblies culture xbuild invariantculture


    【解决方案1】:

    不要期望很快就会有复杂的 xbuild 错误修复,因为来自 Microsoft 的 MSBuild 已经开源,Xamarin 团队已经完成了 some work 以使其跨平台(例如,它已经在 Mono 的 Mac 安装程序中提供)。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      • 1970-01-01
      • 2017-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-08
      相关资源
      最近更新 更多