Xamarin.Android:错误APT0000:检索项目的父项:未找到与给定名称'@android:style / Theme.AppCompat'匹配的资源

Jon*_*han 6 android xamarin.android xamarin

我正在尝试CoordinatorLayout在Xamarin.Android应用中使用。我一直使用自定义主题Theme.Material.Light作为其父主题,在添加之前效果很好CoordinatorLayout。当我添加它时,我收到一条错误消息,告诉我必须使用Theme.AppCompat主题,但是一旦我这样做,应用程序就无法构建,并出现以下错误:

/{project directory}/Resources/values/Styles.xml(0,0):
Error APT0000: Error retrieving parent for item:
No resource found that matches the given name 
'@android:style/Theme.AppCompat'. (APT0000) (TnpApp.Android)
Run Code Online (Sandbox Code Playgroud)

该答案建议安装与我使用的Android SDK相匹配的支持库的主要版本。我已经尝试过了(我认为我做的一切都正确),但这没有帮助。

有人有什么想法吗?

我在Mac上使用Xamarin Studio。

更新1

MainActivity.cs在干净的Xamarin.Android项目中尝试了以下代码,但构建失败并出现相同的错误。

namespace ThemeTest
{
    [Activity(Label = "ThemeTest", MainLauncher = true, Icon = "@mipmap/icon", Theme = "@android:style/Theme.AppCompat.Light")]
    public class MainActivity : Activity
    {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

更新2

我删除了/user/.local/share/Xamarin除以外的所有文件夹,Mono for Androidzips按照此答案的建议进行了删除。我关闭了Xamarin Studio,然后重新打开了它。我尝试部署该应用程序,然后Xamarin重新安装了所有软件包,但是由于原始错误,构建失败。

Jon*_*han 3

@android:style/我只需从Styles.xml 文件中的style元素标签中删除即可解决此问题。parent所以看起来像这样...

<style name="MyCustomTheme" parent="@android:style/Theme.AppCompat">
Run Code Online (Sandbox Code Playgroud)

现在看起来像这样...

<style name="MyCustomTheme" parent="Theme.AppCompat">
Run Code Online (Sandbox Code Playgroud)

我很惊讶这个解决方案如此简单,但它有效。:) 我从这段代码中得到了这个想法。