【发布时间】:2018-09-04 15:42:59
【问题描述】:
我正在处理一个 Xamarin.Forms 项目,为此我最近将共享项目从 PCL 升级到了 .NETStandard。
那时,我遇到了来自我的几个 UI XAML 文件的构建问题,错误是:
无法解析程序集:‘MyAssembly,版本 0.0.0.0, Culture=neutral, PublicKeyToken=null'
发现问题文件是那些引用自定义 XAML 控件的文件。在网上找到几个有类似问题的人后,我最终发现我可以通过将这些页面的XamlCompilationOptions 从Compile 设置为Skip 来解决这个问题。该项目现在为 iOS 和 Android 构建。
Android 版本可以正常工作,但是 iOS 版本由于自定义控件的存在而在其中一个页面尝试加载时崩溃,并出现如下错误:
Xamarin.Forms.Xaml.XamlParseException ... 类型 shared.SharedControl 不是 在 xlmns clr-namespace 中找到:...
有没有人遇到过这个问题,如果有,你解决了吗?是代码问题还是 Xamarin / Visual Studio Mac 错误?
理想情况下,我不想将这些页面的 XamlCompilationOptions 设置为 Skip,但无论哪种方式,我都不明白为什么它会影响 iOS 而不是 Android。
【问题讨论】:
-
我敢打赌,如果你对 android 使用 proguard,它的链接会和 ios 链接器一样好,你也会开始在 android 上崩溃。跳过是一种解决方法而不是解决方案。您最好解决迁移后出现的主要问题。无论如何,您的问题中没有足够的信息。
-
谢谢,我通过链接xamarinhelp.com/upgrade-pcl-net-standard-class-library 迁移了它。这在 Android 端没有任何问题,仅适用于 iOS。
标签: c# ios xamarin xamarin.forms visual-studio-mac