API Failure Sqlite

好久不见. 提交于 2019-12-07 22:01:39

问题


I ran the Windows 8 App Certification Kit on my app and it says it will fail because of Sqllite. Am I referencing code incorrectly or can I ignore this problem? Here is the response:

Impact if not fixed: Using an API that is not part of the Windows SDK for Windows Store apps violates the Windows Store certification requirements.

  • API __CppXcptFilter in msvcr110.dll is not supported for this application type. sqlite3.dll calls this API.
  • API __clean_type_info_names_internal in msvcr110.dll is not supported for this application type. sqlite3.dll calls this API.
  • API __crtTerminateProcess in msvcr110.dll is not supported for this application type. sqlite3.dll calls this API.
  • API __crtUnhandledException in msvcr110.dll is not supported for this application type. sqlite3.dll calls this API.

I am referencing this file:

SQLite for Windows Runtime
SQLite.WinRT, Version=3.7.14
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0\ExtensionSDKs\SQLite.WinRT\3.7.14\

In my Windows 8 Metro app using XAML.

Here are my references:

Metro App:

Class Lib


回答1:


I built the software in release mode. I then deployed it to the simulator and it passed. When you run the Windows App Certification Kit, you must put the app in release mode and deploy to the simulator. Otherwise, the system uses the last build. In that case, it was my debug version.




回答2:


You need to add a reference to the Microsoft Visual C++ Runtime Package.

This is another Extensions SDK, just like the SQLite for Windows Runtime Extensions SDK, and a reference can be added the same way that you added a reference to SQLite: in the Reference Manager dialog, you can find it under Windows -> Extensions.

The SQLite for Windows Runtime SDK depends on the Microsoft Visual C++ Runtime Package (all native SDKs and components require the Visual C++ Runtime Package). If you highlight the SQLite for Windows Runtime SDK in the Reference Manager, you'll see on the right side of the dialog that the Visual C++ Runtime Package is listed as a dependency (it's listed as "Microsoft.VCLibs, version=11.0," which is rather unfortunate).




回答3:


You can edit the manifest XML file by adding the following

<Dependencies><PackageDependency Name="Microsoft.VCLibs.110.00" MinVersion="11.0.0.0" /></Dependencies>

Next time your app will pass certification



来源:https://stackoverflow.com/questions/12361723/api-failure-sqlite

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!