今天我为我们的 Android 版本更新了 NuGet 包(我们目前正在为 Android 和 iOS 开发)。 更新后我无法再构建 Android 版本。这是我目前每次更新包后都会遇到的问题,但这次我无法解决这个问题。 通常重启 Xamarin 或重新安装 NuGet 包会有帮助。
我有 151 条这样的错误消息:
/Users/Username/Projects/MyAppName/Droid/Resources/Resource.designer.cs(118,118): Error CS0117: >MyAppName.Droid.Resource.Attribute' does not contain a definition for mediaRouteSettingsDrawable' (CS0117) (MyAppName.Droid)
以下是我已经尝试解决此问题的所有步骤(按此顺序):
- 构建 --> 全部清理
- 从每个项目(Droid、iOS、SyncLibrary(自己的 SQL 服务器通信库)和 UITest)中卸载所有 NuGet 包
- 删除文件“Resource.Designer.cs”中的所有内容
- 关闭 Xamarin
- 在 SDK Manager 中为每个版本安装每个包
- 删除解决方案的包文件夹
- 删除/Users/Username/.local/share/Xamarin 的内容
- 删除/Users/Username/.local/share/NuGet/cache的内容
- 启动 Xamarin
- 将 Newtonsoft.Json 包添加到 SyncLibrary
添加 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)构建 --> 全部清除
- 重启 Xamarin
- 构建新的:SyncLibrary(因此在尝试构建 Android 版本时没有依赖性错误)
- 新建:Android 版本 --> 错误
我真的不知道该怎么办了。 感谢任何帮助/想法,在此先感谢。
最佳答案
Xamarin.Forms...(2.2.0.45)
XLabs.Forms.....(2.0.5782)
这就是重点。最后一个稳定的 Xamarin.Forms 存在一些问题,当您使用 XLabs 或其他库时可能会导致构建错误。
我知道的唯一解决方案是使用 XLabs.Forms 的预发布版本 - 2.2.0-pre02
。
在我的例子中,我更新了 XLabs 包并清除/重建了我的解决方案。
更多信息请参见 XLabs issue tracker和 Xamarin Bugzilla .
关于c# - 资源.Designer.cs : "Resource ... does not contain a definition for ...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37719429/