xamarin.android - Xamarin Android 资源设计器缺少 ID

标签 xamarin.android android-resources

我们正在做一些关于跨应用程序共享 UI 的工作,包括整个 View 和单个控件,所以我们最终得到的结构是(在 Android 上):

Android App

    View (Activity + Layout) pulled in from a NuGet package

        Control (Layout) pulled in from another NuGet package

因此,应用拉入 View , View 拉入控件。

我们发现的问题是,在控件布局中定义的资源 ID 并未最终出现在应用的 Resource.designer.cs 中,因此当应用运行时,我们会在调用 FindViewByID 时看到崩溃。

有趣的是,我们已经在三个不同的应用程序中实现了上述内容,它在两个应用程序中工作,而不是另一个,所以我认为它在某处的构建配置中有所不同,或者它纯粹是机会,我们不能依赖这种模式有效。

有人见过这个吗?

更新:

仔细观察构建输出后,我实际上可以看到针对缺少的控件生成的警告:

Warning XA0106: Skipping MyControl.Resource.Id.myId. Please check that 
your Nuget Package versions are compatible. (XA0106)

最佳答案

我知道的老问题,但万一有人需要它:

我在更新到 Xamarin.Forms v4.1.0.581479 后遇到了非常相似的问题,并按照上面 James Esh 的评论和 JimmyGarrido 的回复在这里获得解决方案:https://forums.xamarin.com/discussion/89661/a-lot-of-warnings-appear-in-a-new-empty-xamarin-forms-xaml-project

在我的案例中,简单的答案是删除 PCLAppConfig Nuget 包。你的项目中可能有其他包是使用旧版本的 Xamarin.Android.Support* 包构建的。不幸的是,我还没有找到一种方法来诊断具体是哪个软件包导致了问题,因此更新、删除并逐个重新测试让我找到了解决方案。

关于xamarin.android - Xamarin Android 资源设计器缺少 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44807227/

相关文章:

Android:如何将矢量可绘制图像加载到 WebView 中?

android - 单击后如何查看字符串资源中的字符串?

android - 在 Android 的 xamarin 表单中使用警报管理器安排通知

android - Monodroid 应用程序的最低 Android 版本?

android - 资源 'attr/font' 的重复值与配置“

Android 资源$NotFoundException : Resource ID #0x7f030027

来自 xml 的 Android 本地化字符串

C# XML 常量

android - 如何创建默认应用程序实例的自定义实例?

android - 将 MVP 模式与 MonoDroid 结合使用