使用Visual Studio在WINDOWS STORE中使用Mysql.dll发布UWP时出错

时间:2018-03-26 18:51:35

标签: mysql uwp windows-store-apps

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

  

此应用程序不支持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。

1 个答案:

答案 0 :(得分:1)

错误非常明显 - UWP不支持MySQL.Data.Dll使用的API。

如果要发布到Microsoft Store,则有几个选项:

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