none
在Metro程序打包之后使用Certification Kit验证的时候验证失败 RRS feed

  • 问题

  • 支持的 Metro 风格 API 测试失败,结果为

    ◦此应用程序类型不支持 kernel32.dll 中的 API GetModuleFileNameW。Sqlite.dll 调用此 API。
    ◦此应用程序类型不支持 kernel32.dll 中的 API LoadLibraryExW。Sqlite.dll 调用此 API。
    ◦此应用程序类型不支持 kernel32.dll 中的 API LoadLibraryW。Sqlite.dll 调用此 API。

    但是我很确定代码中没有任何调用这三个函数的语句。项目配置为Release模式,请问各位是为什么呢?

    2012年7月4日 7:14

答案

全部回复

  • 看错误信息,好像是因为你使用了Sqlite.dll。

    如果你不需要使用这个组件的话,可以检查一下是不是项目有引用它,然后删除引用;

    如果确实需要使用这个组件的话,可以看看这个文章:

    Using SQLite in a Metro style app

    http://timheuer.com/blog/archive/2012/05/20/using-sqlite-in-metro-style-app.aspx


    多彩日历 for Windows Phone: http://windowsphone.com/s?appid=c1e81a25-731b-43d0-800a-1c1d3ef8de79

    • 已标记为答案 Levin Du 2012年7月6日 1:41
    2012年7月5日 2:27
  • 昨天已回复你邮件,请查看。

    由于你使用了三方的库,开来这个库引起你无法通过验证。目前据我所知,这个作者已经基于官方sqlite修改了一个能够通过验证的版本,请查看:https://github.com/mbrit/sqlite-metrostyle


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    • 已标记为答案 Levin Du 2012年7月6日 1:41
    2012年7月5日 2:53
    版主
  • 谢谢Bob和Andy,问题已经解决了,下载SQLite 的WinRT分支自己新建一个C++的WinRT组件就可以了,关于API测试结果中出现上述情况我也没弄清是为什么,新建一个项目把我之前的代码拷贝进去就可以了。可能是项目配置的原因。

    Andy提出的这篇文章是另一个很好的思路。

    2012年7月6日 1:45
  • 下载SQLite 的WinRT分支自己新建一个C++的WinRT组件就可以了???

    请问这一步怎么做? 我也遇到这个问题了 谢谢!

    2013年10月22日 6:53