【问题标题】:Resource.Designer.cs: "Resource ... does not contain a definition for ..."Resource.Designer.cs:“资源……不包含……的定义”
【发布时间】:2016-10-09 17:18:16
【问题描述】:

今天我为我们的 Android 版本更新了 NuGet 包(我们目前正在为 Android 和 iOS 开发)。 更新后,我无法再构建 Android 版本。到目前为止,这是我每次更新包后都会遇到的问题,但这次我无法解决这个问题。 通常重启 Xamarin 或重新安装 NuGet 包会有所帮助。

我有 151 条这样的错误消息:

/Users/Username/Projects/MyAppName/Droid/Resources/Resource.designer.cs(118,118): 错误 CS0117:>MyAppName.Droid.Resource.Attribute' 不包含 mediaRouteSettingsDrawable' (CS0117) (MyAppName.Droid) 的定义

以下是我已经尝试解决此问题的所有步骤(按此顺序):

  1. 构建 --> 全部清除
  2. 从每个项目(Droid、iOS、SyncLibrary(用于 SQL 服务器通信的自己的库)和 UITest)中卸载每个 NuGet 包
  3. 删除文件“Resource.Designer.cs”中的所有内容
  4. 关闭 Xamarin
  5. 在 SDK 管理器中为每个版本安装每个包
  6. 删除解决方案的packages文件夹
  7. 删除 /Users/Username/.local/share/Xamarin 的内容
  8. 删除 /Users/Username/.local/share/NuGet/cache 的内容
  9. 启动 Xamarin
  10. 将 Newtonsoft.Json 包添加到 SyncLibrary
  11. 添加 Android 包:只添加需要的包,让 NuGet 自行解析依赖项(如 Xamarin.Android.Support、Xamarin.GooglePlayServices 等)。 已安装的包(按此顺序):

    Xamarin.Forms.......................(2.2.0.45)
    Xamarin.Forms.Maps.......................(2.2.0.45)
    XLabs.Forms..................................(2.0.第5782章)
    ZXing.Net.Mobile.......................(2.0.4.46)
    Newtonsoft.Json..................................(8.0.3)
    Xam.Plugin.Geolocator.......................(3.0.4)

  12. 构建 --> 全部清除

  13. 重启 Xamarin
  14. 新建:SyncLibrary(因此在尝试构建 Android 版本时不会出现依赖错误)
  15. 新建:Android 版本 --> 错误

我真的不知道该怎么办了。 感谢您提供任何帮助/想法,在此先感谢。

【问题讨论】:

  • 你能不能右键点击Resource.Designer.cs下面的资源文件,然后点击Run custom tool
  • 我不完全确定你的意思是什么文件。这是我在 Resource.Designer.cs 上单击鼠标右键时看到的内容:
    !Image
  • 图像翻译:打开方式... 版本控制在 Finder 中显示 复制剪切 删除 重命名 构建操作 快速属性刷新
  • 我的错,我以为您正在使用带有 Xamarin 工具的 Visual Studio.... 在您的情况下发生的情况是,当资源的定义被重新生成时,文件没有重新生成。这似乎是一个已知的 Xamaein 问题,使用 Xamaein 工作室检查他们的 KB:kb.xamarin.com/customer/portal/articles/…
  • 对不起,忘了说我在 Mac 上。 .csproj 文件包含 Resources\Resource.designer.cs 行,当我删除 Resource.designer.cs 的内容时,重建 Android 版本会将内容添加回其中。

标签: c# android xamarin.android xamarin.forms xamarin-studio


【解决方案1】:

Xamarin.Forms...(2.2.0.45)

XLabs.Forms.....(2.0.5782)

这就是重点。最后一个稳定的 Xamarin.Forms 存在一些问题,当您使用 XLabs 或其他库时可能会导致生成错误。

我知道的唯一解决方案是使用 XLabs.Forms 的预发布版本 - 2.2.0-pre02

就我而言,我更新了 XLabs 包并清除/重建了我的解决方案。

XLabs issue trackerXamarin Bugzilla 中的更多信息。

【讨论】:

    【解决方案2】:

    我遇到过类似的错误,但没有使用 XLabs.Forms。我看到,您也使用 ZXing.Net.Mobile,就像我一样 - 我已将其更新为最新的预发布版本(在撰写本文时:2.1.0-beta1),它也有帮助。

    【讨论】:

      【解决方案3】:

      我的 Xamarin 解决方案也有同样的问题

      你试过了吗:

      • 退出 Visual Studio
      • 正在删除 c:\Users\username\AppData\Local\Xamarin
      • 再次打开解决方案
      • 编译,等待它完全完成。

      无论如何,找到这个链接,也许它有用: Xamarin: Build action EmbeddedResource

      【讨论】:

        猜你喜欢
        • 2021-07-26
        • 2016-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多