Visual studio 2015 Visual Studio 2017:英语和美国以外的默认语言

Visual studio 2015 Visual Studio 2017:英语和美国以外的默认语言,visual-studio-2015,uwp,visual-studio-2017,Visual Studio 2015,Uwp,Visual Studio 2017,这个问题已经存在很长一段时间了。我希望它能在VS2017年修复,但事实并非如此。这里有一个复制它的方法 打开VS2017(或VS2015)并创建新的UWP项目 在包清单(Package.appxmanifest)中,将默认语言从en-US更改为en 在汇编信息中,您可以将非特定语言保留为None,或将其设置为English(这将在AssemblyInfo.cs中添加行[Assembly:NeutralResourcesLanguage(“en”)]) 在解决方案资源管理器中,选择“资产”文件夹并

这个问题已经存在很长一段时间了。我希望它能在VS2017年修复,但事实并非如此。这里有一个复制它的方法

  • 打开VS2017(或VS2015)并创建新的UWP项目
  • 在包清单(Package.appxmanifest)中,将默认语言从
    en-US
    更改为
    en
  • 在汇编信息中,您可以将非特定语言保留为
    None
    ,或将其设置为
    English
    (这将在AssemblyInfo.cs中添加行
    [Assembly:NeutralResourcesLanguage(“en”)]
  • 在解决方案资源管理器中,选择“资产”文件夹并创建子文件夹
    en
    (右键单击-添加-新建文件夹-键入
    en
    )。将.png文件(例如
    StoreLogo.png
    )复制到新创建的子文件夹中。(实际上,我的real app支持多种语言,但一种语言就足以说明这个问题。)
  • 就这样!构建项目,您将收到一条消息:

    MakePRI : warning 0xdef00522: Resources found for language(s) 'en'
    but no resources found for default language(s): 'en-US'.
    Change the default language or qualify resources with the default language.
    http://go.microsoft.com/fwlink/?LinkId=231899
    
    不幸的是,消息中引用的网站并没有揭示这个问题

    我注意到生成的priconfig.xml包含以下部分:

    <index root="\" startIndexAt="obj\x86\Debug\resources.en-us.resfiles">
        <default>
          <qualifier name="Language" value="en-us" />
          <qualifier name="Contrast" value="standard" />
          <qualifier name="Scale" value="200" />
          <qualifier name="HomeRegion" value="001" />
          <qualifier name="TargetSize" value="256" />
          <qualifier name="LayoutDirection" value="LTR" />
          <qualifier name="DXFeatureLevel" value="DX9" />
          <qualifier name="Configuration" value="" />
          <qualifier name="AlternateForm" value="" />
          <qualifier name="Platform" value="UAP" />
        </default>
    
        <indexer-config type="RESW" convertDotsToSlashes="true" />
        <indexer-config type="RESJSON" />
        <indexer-config type="RESFILES" qualifierDelimiter="." />
      </index>
    
    
    
    但是我不知道“en-us”是从哪里来的

    商店捆绑包在AppxBundleManifest.xml中创建,没有
    en-us
    。使用不支持的语言运行应用程序也可以,它使用英语(
    en
    )。该应用程序通过了Microsoft应用商店的认证


    尽管如此,我还是希望摆脱这个信息。有什么想法吗?

    谢谢你的反馈。这是VS/MSBuild中的一个已知问题。我们正在就这个问题与相关团队进行同步。这个警告来自.NET核心框架二进制文件的默认语言是“en-US”

    尽管如此,我还是希望摆脱这个信息。有什么想法吗


    暂时,唯一可能的解决方法是将默认语言声明为“en-US”。但正如您所知,此警告不会中断您的开发进度,您可以忽略它并继续前进。;)

    如果你认为这是VS 2017中的一个bug,你应该使用“快速启动”文本字段旁边右上角的小图标进行报告。玛丽安·多林斯基:我向微软报告了这个问题,但是对于VS bug来说,它看起来太明显了。也许我做错了什么。对我来说也像个虫子。如果您将所有内容也设置为“fr”或“en GB”,则会发生这种情况。我以前也知道其他VS bug假设默认语言为“en-US”,所以这并不超出可能性的范围。如果不是VS本身,则可能是UWP工具问题。