构建新的 Xamarin.Forms 项目失败
Posted
技术标签:
【中文标题】构建新的 Xamarin.Forms 项目失败【英文标题】:Building a new Xamarin.Forms project fails 【发布时间】:2016-10-24 01:32:08 【问题描述】:我正在尝试使用 Xamarin Studio(6.1.1 build 15.macOS v10.12)创建一个新的 Xamarin.Forms 项目。 我得到了一个包含 3 个项目的解决方案。一个共享,一个用于 ios,一个用于 android。除了Android之外,一切都建立起来了。尝试编译资源时失败,特别是样式文件。
出现以下错误:
Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar'.
No resource found that matches the given name: attr 'colorAccent'.
No resource found that matches the given name: attr 'colorPrimary'.
No resource found that matches the given name: attr 'colorPrimaryDark'.
No resource found that matches the given name: attr 'windowActionBar'.
No resource found that matches the given name: attr 'windowActionModeOverlay'.
No resource found that matches the given name: attr 'windowNoTitle'.
Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.Dialog'.
No resource found that matches the given name: attr 'colorAccent'.
我尝试删除所有与 Android 支持相关的库和 Xamarin.Forms 本身,然后使用 NuGet 再次添加它们。但这没有帮助。 我使用的 Xamarin.Forms 版本是 2.3.2.127。
也许有人可以在这里帮助我?
编辑: 这是发生错误的文件。我没有改变任何东西。这是 Xamarin 生成的。
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<style name="MyTheme" parent="MyTheme.Base">
</style>
<!-- Base theme applied no matter what API -->
<style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<!--If you are using revision 22.1 please use just windowNoTitle. Without android:-->
<item name="windowNoTitle">true</item>
<!--We will be using the toolbar so no need to show ActionBar-->
<item name="windowActionBar">false</item>
<!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette-->
<!-- colorPrimary is used for the default action bar background -->
<item name="colorPrimary">#2196F3</item>
<!-- colorPrimaryDark is used for the status bar -->
<item name="colorPrimaryDark">#1976D2</item>
<!-- colorAccent is used as the default value for colorControlActivated
which is used to tint widgets -->
<item name="colorAccent">#FF4081</item>
<!-- You can also set colorControlNormal, colorControlActivated
colorControlHighlight and colorSwitchThumbNormal. -->
<item name="windowActionModeOverlay">true</item>
<item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>
</style>
<style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">#FF4081</item>
</style>
</resources>
我还删除了所有包并重新添加了 Xamarin.Forms。它会自动添加所需的支持包。但是错误仍然存在。
【问题讨论】:
您如何在styles.xml
中定义这些资源?您能否发布显示这些项目的相关代码?大多数这些错误来自nuget.org/packages/Xamarin.Android.Support.v7.AppCompat 和nuget.org/packages/Xamarin.Android.Support.Design 包。确保它们在您的 Resources.designer.cs
文件中定义。
您需要支持库,因为 Xamarin.Forms 使用它们。可能听起来很愚蠢,但你试过重建吗?这些是标准的 Android 资源,有时它们不会在第一次被拉入,因此您需要重新构建所有内容。
【参考方案1】:
我通过从https://developer.xamarin.com/guides/android/troubleshooting/resolving-library-installation-errors/ 下载android_m2repository_r29.zip
存储库并使用相同的指令解决了这个问题。
【讨论】:
以上是关于构建新的 Xamarin.Forms 项目失败的主要内容,如果未能解决你的问题,请参考以下文章
新的 Xamarin 项目不使用最新的 Xamarin 版本
使用新的 Xamarin 表单构建时出现“XamlCTask”任务意外失败”错误
Xamarin Forms Android:获取 XA3001:无法 AOT 程序集
在现有 Xamarin Forms 项目中添加新的 Android 项目[IOS]
Xamarin.Forms:Android 项目构建错误 - AppData\Local\Xamarin 文件夹中缺少文件