Xamarin Forms generates wrong ressources
Follow these steps every time you update Xamarin Forms
- Delete bin and obj as it has data of previous versions
- restart vs
- Clean build and run
This appears to be a bug that was introduced recently with a change to the BottomTabLayout.axml file, ultimately causing the generated design file to use .
characters instead of _
characters. More details here: https://github.com/xamarin/xamarin-android/issues/3007#issuecomment-486622711
The Xamarin engineers are aware of the problem and have a fix lined up that should be released soon, but in the meantime, you can fix this problem by falling back to the old aapt
generator by following these steps:
- Right-click on the Android project and select
Unload Project
. If the project disappears from the IDE, make sure that the solution is showing all files and not just files in the project. - Right-click on the unloaded Android project and select
Edit Project
to open the .csproj file. - In the first
PropertyGroup
tag, add in the following:
<AndroidUseManagedDesignTimeResourceGenerator>
False
</AndroidUseManagedDesignTimeResourceGenerator>
- Save the changes, then right-click on the Android project and select
Reload Project
.
If all goes well, the errors should correct themselves now. You may have to clean and build, but in my experience, the correction was immediate once the Android project was reloaded. Note that according to the bug report, the aapt
generator will be slower, which might be noticeable if changes are made to axml
files and the Design Time Build is running.