无法在 Xamarin iOS 中解析 System.Void UIKit.UITableView

Failed to resolve System.Void UIKit.UITableView in Xamarin iOS

如果我为 Xamarin.iOS 构建我的 Visual Studio 项目并将 Linker 行为设置为 "Don't Link",除了生成的 IPA 文件是 30MB(这在应用商店中扩展到 101MB!)。

如果我将 Linker 行为更改为其他任何内容(Link 全部或 Link SDK),那么我会收到以下编译错误;

Error   32  Failed to resolve "System.Void UIKit.UITableView::set_DataSource(UIKit.UITableViewDataSource)" reference from "Xamarin.iOS, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065"

我想使用链接器将项目的大小缩小到一个可观的大小。谁能解决这个错误?

我删除了对 sqlite 的引用并通过 nuget 重新添加了它。这解决了问题。

问题是因为您的 sqlite 旧版本是基于统一 API 的旧(预览)版本。

一些 API 签名发生了变化,例如,在这种情况下,允许更轻松地使用协议(这意味着使用接口而不是类型)。

请注意,关闭链接器将消除 build 失败 - 但该符号仍然丢失,您可以 运行 在 运行time(这更糟,因为您需要仔细测试以确保不会被击中)。