Xamarin表单生成错误的资源

NPa*_*utt 9 xamarin.android xamarin.forms

我有一个带有Xamarin Forms的Xamarin Android应用程序。从Xamarin Forms 3.4.0.1029999更新之后,我在Resource.Designer中有如下条目:

        // aapt resource value: 0x7F030220
        public const int bottomtab.navarea = 2130903584;

        // aapt resource value: 0x7F030221
        public const int bottomtab.tabbar = 2130903585;
Run Code Online (Sandbox Code Playgroud)

有了这些,我得到了很多这样的错误:

在此处输入图片说明

我认为这是因为要点。有趣的是,构建是成功的。我该如何解决这个错误?

编辑:链接到项目:https : //github.com/MoneyFox/MoneyFox

小智 4

这似乎是最近通过对 BottomTabLayout.axml 文件进行更改而引入的错误,最终导致生成的设计文件使用.字符而不是_字符。更多详细信息请参见:https://github.com/xamarin/xamarin-android/issues/3007#issuecomment-486622711

Xamarin 工程师已经意识到了这个问题,并准备了一个修复程序,应该很快就会发布,但与此同时,您可以按照aapt以下步骤回退到旧的生成器来修复这个问题:

  1. 右键单击 Android 项目并选择Unload Project。如果项目从 IDE 中消失,请确保解决方案显示所有文件,而不仅仅是项目中的文件。
  2. 右键单击卸载的 Android 项目并选择Edit Project打开 .csproj 文件。
  3. 在第一个PropertyGroup标签中,添加以下内容:
<AndroidUseManagedDesignTimeResourceGenerator>
    False
</AndroidUseManagedDesignTimeResourceGenerator>
Run Code Online (Sandbox Code Playgroud)
  1. 保存更改,然后右键单击 Android 项目并选择Reload Project

如果一切顺利,错误现在应该会自行纠正。您可能需要清理和构建,但根据我的经验,一旦重新加载 Android 项目,就会立即进行更正。请注意,根据错误报告,aapt生成器会变慢,如果对文件进行更改axml并且设计时构建正在运行,这可能会很明显。