none
Windows App Certification Kit 如何单独测试 RRS feed

  • 问题

  • 我现在只要测试其中几种,全部测试时间太长了  比如测试不支持的API

    有个疑问啊,既然有些API不支持,但是为什么可以编译链接通过呢?

    但是我的应用里,并没有使用到不支持的API,Test却测试出来有,我无法找到,有什么方法可以尽快找到么?

    测试中提示

    LoadLibraryW LoadLibraryExW GetModuleNameW 这3个API,但是我的代码里未使用过

     

    2012年5月19日 3:52

答案

  • 在你测试的时候要把程序给成release版本,然后安装这个程序到metro UI 界面上

    测试的对象应该是安装的APP,单独测试应该不行吧(没试过),测试大约耗费3-5分钟时间,所以不用担心测试时间太长

    有些API 不支持能编译通过时因为你没有加metro app 定义的宏,比如 WINAPI_FAMILY=2,如果你加了,很多不能用的函数就会报错,你可以在errorlist看到不能用的函数了


    2012年5月21日 10:17

全部回复

  • 在你测试的时候要把程序给成release版本,然后安装这个程序到metro UI 界面上

    测试的对象应该是安装的APP,单独测试应该不行吧(没试过),测试大约耗费3-5分钟时间,所以不用担心测试时间太长

    有些API 不支持能编译通过时因为你没有加metro app 定义的宏,比如 WINAPI_FAMILY=2,如果你加了,很多不能用的函数就会报错,你可以在errorlist看到不能用的函数了


    2012年5月21日 10:17
  • 宏都加了的,编译链接也都通过了,只是验证的时候才出现的

    使用支持的平台 API
    FAILED
    支持的 API
    • Error: This application failed the supported API check.
      • 此应用程序类型不支持 kernel32.dll 中的 API GetModuleFileNameW。MetroFlashPlayer.exe 调用此 API。
      • 此应用程序类型不支持 kernel32.dll 中的 API LoadLibraryExW。MetroFlashPlayer.exe 调用此 API。
      • 此应用程序类型不支持 kernel32.dll 中的 API LoadLibraryW。MetroFlashPlayer.exe 调用此 API。
    • Impact if not fixed: The application is using one or more APIs that are not in the Windows SDK for Metro style Apps. Use of unsupported APIs violates the Windows Store policy and can have negative impact on the user experience and has the potential to hinder overall system stability.
    • How to fix: Look at the error messages above for the exact API that needs to be fixed. Refer to the Windows SDK for Metro style Apps for the supported list of APIs to use. Binaries compiled as debug are know to fail this validation. Please always ensure your binary is compiled in release configuration and not debug configuration.   

    这几个函数我压根没使用过的。

    谁能给解答下啊

    2012年5月23日 6:25
  • 你使用加载了一些其他类型的库,你虽然没有写,但是编译器会生成这些加载库的调用。请检查你所有用到的和依赖的库,是怎么加载的,是否这些库都符合Metro要求。


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

    2012年5月23日 7:34
    版主
  • 你改成release版本重新试试,我记得我好像只在debug下面才会报这样的错

    2012年5月24日 8:48
  • 为什么编译链接能通过呢?
    2012年5月29日 8:50
  • 编译连接不做API的验证。只要符合代码规范和调用规范就可以通过。

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

    2012年5月29日 9:38
    版主
  • 这样不对吧,  LoadLibrary在metro下是不支持的啊,怎么可以让他通过呢,
    2012年6月1日 5:28
  • 编译器不做程序验证,只要符合语法,符合编译要求就可以了。 App Cert 是之后的事情。编译器不是光针对Metro设计的,它是一个通用工具。

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

    2012年6月1日 5:47
    版主
  • 这样不对吧,  LoadLibrary在metro下是不支持的啊,怎么可以让他通过呢,
    LoadLibrary在metro是不支持的,但不是编译器要检查的内容。

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

    2012年6月1日 5:48
    版主
  • 请问你的这个问题解决了吗?我也会遇到这个问题,我很确定我自己没有调用过这3个函数,该项目的类型是Dynamic Library (.dll),且支持Metro Application

    2012年7月4日 3:42
  • 请问你的这个问题解决了吗?我也会遇到这个问题,我很确定我自己没有调用过这3个函数,该项目的类型是Dynamic Library (.dll),且支持Metro Application

    确定都是Release模式吗?

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

    2012年7月4日 3:53
    版主
  • 请问你的这个问题解决了吗?我也会遇到这个问题,我很确定我自己没有调用过这3个函数,该项目的类型是Dynamic Library (.dll),且支持Metro Application

    确定都是Release模式吗?

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


    都是Release模式,如果你方便的话我想请你帮我看一下我的工程设置,可以把代码发给你
    2012年7月4日 6:44
  • v-bobbao (at) microsoft dot com

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

    2012年7月4日 7:30
    版主
  • 你好,问题解决了吗,我最近也遇到一模一样的问题
    2013年8月8日 10:38