为什么 Visual Studio (Xamarin) 中的 Android 资产文件不允许有重音符号?

Why are Android Asset files in Visual Studio (Xamarin) not allowed to have accents?

我有一个 Visual Studio(Xamarin,Android)项目,其中的文件名称中有一个重音字符:

 diário.png

此文件位于资产文件夹中,并标记为 Android 资产。

不幸的是,当我构建项目时,出现编译错误:

C:\Users\vchel\Documents\FlatRedBallProjects\AndroidSpecialCharacter\AndroidSpecialCharacter\obj\Debug\assets\content\gumproject\dißrio.png : error : Invalid filename. Unable to add.

请注意,该文件在我的项目中是 diário.png,但错误将其引用为 dißrio.png。

如果我将文件重命名为 diario.png(字母 a 上方没有重音符号)项目构建正常。

我知道我可以通过在我的文件中不使用重音字符来解决这个问题,但这似乎是一个奇怪的限制。这是一个已知的问题?除了避免在文件名中使用重音符号之外,还有其他方法可以解决这个问题吗?

资产命名限制一直绑定到 Android API 1、相关构建工具和 .apk 打包(与 Xamarin 框架无关)。

  • 命名资源的有效字符是 [a-z, _, 0–9]

    • 小写字符、数字和下划线
  • 在资产

    中使用下划线 (_) 作为 "words" 之间的多名称分隔符
    • 不允许使用空格连字符和句号
  • 第一个字母可以是_或小写字符

    • 不允许数字作为第一个字符

注意:Android 开发者网站上曾经有关于这些限制的注释,但我再也找不到它们了,因为它们删除了构建工具的大部分文档