【问题标题】:Xamarin cross-platform (portable class) project compilation errorXamarin跨平台(便携类)项目编译报错
【发布时间】:2016-04-24 07:44:44
【问题描述】:

我在 Visual Studio 中使用可移植类库创建了一个新的空白跨平台项目,但是当我尝试构建平台项目时,我有一个错误列表:

Error   CS0117  'Resource' does not contain a definition for 'Animation'
Error   CS0117  'Resource' does not contain a definition for 'Boolean'
Error   CS0117  'Resource' does not contain a definition for 'Color'
Error   CS0117  'Resource' does not contain a definition for 'Dimension'
Error   CS0117  'Resource' does not contain a definition for 'Id'   App5.Droid
Error   CS0117  'Resource' does not contain a definition for 'Integer'
Error   CS0117  'Resource' does not contain a definition for 'Layout'
Error   CS0117  'Resource' does not contain a definition for 'Style'
Error   CS0117  'Resource' does not contain a definition for 'Styleable'
Error   CS0117  'Resource.Attribute' does not contain a definition for 'actionBarDivider'
Error   CS0117  'Resource.Attribute' does not contain a definition for 'actionBarItemBackground'
Error   CS0117  'Resource.Attribute' does not contain a definition for 'actionBarPopupTheme'
Error   CS0117  'Resource.Attribute' does not contain a definition for 'actionBarSize'
Error   CS0117  'Resource.Attribute' does not contain a definition for 'actionBarSplitStyle'

请记住,我正在尝试更新 NuGet 包,但是当我选择所有带有 (Xamarin.forms) 的包时,更新不起作用并出现以下错误:

Unable to find a version of 'Xamarin.Android.Support.v4' that is compatible with 'Xamarin.Android.Support.Animated.Vector.Drawable 23.2.1 constraint: Xamarin.Android.Support.v4 (= 23.2.1)', 'Xamarin.Android.Support.Design 23.0.1.3 constraint: Xamarin.Android.Support.v4 (>= 23.0.1.3)', 'Xamarin.Android.Support.v13 23.3.0 constraint: Xamarin.Android.Support.v4 (= 23.3.0)', 'Xamarin.Android.Support.v7.AppCompat 23.0.1.3 constraint: Xamarin.Android.Support.v4 (>= 23.0.1.3)', 'Xamarin.Android.Support.v7.MediaRouter 23.0.1.3 constraint: Xamarin.Android.Support.v4 (>= 23.0.1.3)', 'Xamarin.Android.Support.v7.RecyclerView 23.0.1.3 constraint: Xamarin.Android.Support.v4 (>= 23.0.1.3)', 'Xamarin.Android.Support.Vector.Drawable 23.2.1 constraint: Xamarin.Android.Support.v4 (= 23.2.1)', 'Xamarin.Forms 2.1.0.6529 constraint: Xamarin.Android.Support.v4 (= 23.0.1.3)'.

所以,我选择了除 Xamarin.forms 包之外的所有包并更新了它们。

知道如何解决这个错误吗?

【问题讨论】:

    标签: visual-studio xamarin xamarin.forms


    【解决方案1】:

    您需要使用错误消息中提到的特定/最低版本的软件包。最安全的方法是删除所有 nuget 包(包括 Xamarin.Forms),然后添加 Xamarin.Forms nuget 包,这将添加其所有依赖项与特定版本。

    解释,James Montemagno

    Xamarin.Forms 锁定在一个非常特定版本的支持 图书馆和谷歌播放服务。您无法更新它们,因为 Xamarin.Forms 与它们不兼容,因为它需要 重新编译。

    Xamarin.Android.Support.v4 (= 23.0.1.3)

    Xamarin.Android.Support.Design (= 23.0.1.3)

    Xamarin.Android.Support.v7.AppCompat (= 23.0.1.3)

    Xamarin.Android.Support.v7.CardView (= 23.0.1.3)

    Xamarin.Android.Support.v7.MediaRouter (= 23.0.1.3)

    参见 = 23.0.1.3,这意味着它只与那个兼容 版本号。这就是 NuGet 的工作原理。当 Xamarin.Forms 更新这些包将自动更新。

    【讨论】:

    • 谢谢,我删除了所有包并重新安装了 Xamarin.Forms 包,但是我还有另一个错误:“GenerateResourceDesigner”任务意外失败。
    • 检查这是否适合您:stackoverflow.com/questions/35631572/… > 解决方案是重新安装 android [...] 的 xamarin 表单,然后删除所有目录的 bin 和 obj 文件夹以及包.
    • 我通过重新开始解决了这个问题并创建了一个 Xamarin Forms PCL 解决方案/我什么也没做,然后单击了运行。它打开了一个 Droid 模拟器并显示出来。然后逐步将它运行到我的 Windows 10 手机上,以 UWP 作为启动项目,以 ARM、Device 作为目标。 // 早些时候,我在创建项目后立即尝试运行到 ARM 设备(我的手机),出现了 1600 个错误。那时我也取消了配置中的一堆框。就像那时 IDE/Xamarin 还没有准备好让我切换所有默认设置。 HTH,
    【解决方案2】:

    我创建了一个新的 Xamarin.forms 项目(空白共享),其中包含 VS2015 Update 3 RC 和类似问题(以及更多,例如“Resource.Attribute”不包含“actionBarSize”的定义。
    问题在于 JDK 的子版本(Update 55 而不是 Update 79)。
    您可以在此处找到我发布到 Resource.Attribute 错误的帖子:JDK7 problem

    【讨论】:

    • 支持JDK 8 update 40?? B'coz 我有 8 更新 40,仍然得到同样的错误。
    猜你喜欢
    • 1970-01-01
    • 2014-04-07
    • 2017-01-14
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    相关资源
    最近更新 更多