繁体   English   中英

在 UWP For Store Apps 中引用 sqlite3.dll

[英]Referencing sqlite3.dll in UWP For Store Apps

我们有一个利用 Xamarin Forms 的 UWP 应用程序。 它通过这个 .NET Standard 库使用 SQLite:

https://github.com/MelbourneDeveloper/SQLite.Net.Standard (这是我的库,它是https://github.com/oysteinkrog/SQLite.Net-PCL 的一个分支)

SQLite 在调试模式下运行良好,在为 .NET Native 编译时也运行良好。 我相信我们正在通过这样的 Visual Studio 插件引用物理 C sqlite3 库文件:

在此处输入图片说明 但是,当我们尝试将其上传到商店时,会收到以下一系列错误消息:

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_backup_finish。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_backup_init。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_backup_pagecount。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_backup_remaining。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_backup_step。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_bind_blob。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_bind_double。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_bind_int。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_bind_int64。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_bind_null。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_bind_parameter_index。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_bind_text16。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_busy_timeout。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_changes。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_close。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_column_blob。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_column_bytes。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_column_count。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_column_double。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_column_int。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_column_int64。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_column_name16。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_column_text16。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_column_type。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_config。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_enable_load_extension。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_errmsg16。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_extended_errcode。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_finalize。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_initialize。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_last_insert_rowid。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_libversion_number。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_open。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_open16。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_open_v2。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_prepare16_v2。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_reset。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_shutdown。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_sleep。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_sourceid。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_step。 SQLite.Net.Standard.dll 调用此 API。

此应用程序类型不支持 libsqlite3_for_net.dll 中的 API sqlite3_win32_set_directory。 SQLite.Net.Standard.dll 调用此 API。

所以,我的问题是:微软为什么拒绝这个

环顾四周,我们似乎使用了错误版本的 sqlite 3 库。 但是,我们应该使用哪一个? Xamarin 有特定的吗? 为什么包会吐出一个名为 libsqlite3_for_net.dll 的文件? 为什么不只是 sqlite3.dll?

是否有关于如何将 SQLite 加入 Windows 应用商店中的应用程序的文档?

问题是 libsqlite3_for_net.dll 仅在 iOS 上可用。 从共享代码中删除该 dll 的 DllImport,以便在没有该 dll 可用的平台上不需要该 dll。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM