微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Xamarin Android CS0117编译期间{“ Resource.Drawable不包含XXX的定义”

如何解决Xamarin Android CS0117编译期间{“ Resource.Drawable不包含XXX的定义”

在构建混合Xamarin Android应用时,我们遇到了一个奇怪的间歇性问题。

该应用程序非常大,分为多个部分。

  • App1
    • App1.Android
    • App1.iOS
  • App2
    • App2.Android
    • App2.iOS
  • Shared.Core
  • Shared.Android
  • Shared.iOS

App1.Android和App2.Android共享Shared.Core和Shared.Android,App1.iOS和App2.iOS共享Shared.Core和Shared.iOS。它是Shared.Android(Xamarin Android库),这使我感到烦恼。

在尝试编译时,有时构建会失败,因为它表示Resources.Drawable不包含对两个特定项目的引用。这些是seek.xml和seek_style.xml。

但是IntelliSense会看到期望的值,如果我查看Resource.designer.cs,则会看到这些值,并且在F12跳转到源代码时会列出两个实体。

这两个文件位于Resource / drawable文件夹中,如前所述,可以在常规IntelliSense操作期间将其固定为文件

我已经尝试了一些指南来解决此问题,包括此处的指南:https://stackoverflow.com/a/36759115,但它们似乎只能提供暂时的缓解。

有人有什么建议吗?我在这里扯头发。

一些截图:

  1. 带参考的文件(和有效的IntelliSense):

    Base File

  2. Resources.Drawable内容

    Resources.Drawable

  3. 编译时间错误

    Compile time errors

  4. Drawable文件夹中的文件(带有属性):

    seek.xml properties

    seek_style.xml properties

解决方法

资源/可绘制文件夹-它存储您将在应用程序中使用的所有图像。

资源/值文件夹-它包含XML文件,用于声明整个应用程序中字符串(和其他类型)的键/值对。通常,这就是在Android上设置多种语言的本地化的方式。

您需要将DELETE文件夹中的seek.xmlseek_style.xml文件移动到xml文件集的属性窗口中:
enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。