【问题标题】:Error publishing UWP with Mysql.dll in WINDOWS STORE using Visual Studio使用 Visual Studio 在 WINDOWS STORE 中使用 Mysql.dll 发布 UWP 时出错
【发布时间】:2018-09-05 00:29:30
【问题描述】:

我在发布到 Windows 商店 (microsoft) 时遇到以下错误。

此应用程序不支持 kernel32.dll 中的 API CreateFileW 类型。 MySql.Data.dll 调用这个 API。

此应用程序类型不支持 kernel32.dll 中的 API MapViewOfFile。 MySql.Data.dll 调用这个 API。

不支持 kernel32.dll 中的 API OpenFileMappingW 申请类型。 MySql.Data.dll 调用这个 API。

此应用程序类型不支持 secur32.dll 中的 API AcquireCredentialsHandleW。 MySql.Data.dll 调用这个 API。

此应用程序类型不支持 secur32.dll 中的 API CompleteAuthToken。 MySql.Data.dll 调用这个 API。

此应用程序类型不支持 secur32.dll 中的 API DeleteSecurityContext。 MySql.Data.dll 调用这个 API。

此应用程序类型不支持 secur32.dll 中的 API FreeCredentialsHandle。 MySql.Data.dll 调用这个 API。

不支持 secur32.dll 中的 API InitializeSecurityContextW 此应用程序类型。 MySql.Data.dll 调用这个 API。

不支持 secur32.dll 中的 API QueryContextAttributesW 申请类型。 MySql.Data.dll 调用这个 API。

【问题讨论】:

    标签: mysql uwp windows-store-apps


    【解决方案1】:

    这个错误是不言自明的——UWP 不支持MySQL.Data.Dll 使用的 API。

    如果您想发布到 Microsoft Store,您有几个选择:

    1. 如果可能,请寻找与 UWP 兼容的 MySQL 版本。其中一些 API 故障可以用较新的 API 调用轻松替换,而另一些可能对应用程序本地数据库没有意义。
      • 我们一直在努力提高与现有代码的兼容性,但目前我们不能/不支持所有这些 API。
    2. 如果您无法获得与 UWP 兼容的 MySQL 版本,请尝试使用 SQLite 等其他数据库。 SQLite 现在是 built-in to Windows 并且有一个与 UWP 兼容的版本,如果你需要支持 14393 之前的 Windows 版本,你可以在你的应用中发布
    3. 如果您必须使用 MySQL 并且无法获得符合 UWP 的版本,您可以尝试发布为 Desktop Bridge 应用
      • 不过,这需要特殊权限,而且现在您不能将这样的传统 API 调用与现代 XAML UI 混合使用 - 它们必须位于不同的进程中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多