【发布时间】: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) 的定义
以下是我已经尝试解决此问题的所有步骤(按此顺序):
- 构建 --> 全部清除
- 从每个项目(Droid、iOS、SyncLibrary(用于 SQL 服务器通信的自己的库)和 UITest)中卸载每个 NuGet 包
- 删除文件“Resource.Designer.cs”中的所有内容
- 关闭 Xamarin
- 在 SDK 管理器中为每个版本安装每个包
- 删除解决方案的packages文件夹
- 删除 /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 版本 --> 错误
我真的不知道该怎么办了。 感谢您提供任何帮助/想法,在此先感谢。
【问题讨论】:
-
你能不能右键点击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