【问题标题】:UWP Windows-10 WACK tests ErrorsUWP Windows-10 WACK 测试错误
【发布时间】:2016-12-08 11:10:20
【问题描述】:

我是 Windows 应用开发的新手。我已经构建了一个面向 Windows 10 桌面和移动平台的 C# 应用程序。我的 C# 应用调用用 C++ (c++/cx) 编写的 Windows 运行时组件。

我按照MSDN Link 运行 WACK 测试。

我的机器上安装了Windows App Certification Kit 10.0。要运行测试,我会执行 Validate Store App -> 从机器上已安装应用程序列表中选择我的应用程序。我的应用程序以发布模式安装。当我运行 WACK 测试时,Supported API test 失败并显示以下内容:

此应用程序类型不支持 vccorlib140.dll 中的 API ??0Delegate@Platform@@Q$AAA@XZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ??0Exception@Platform@@Q$AAA@H@Z。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ??0NotImplementedException@Platform@@Q$AAA@XZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ??0Object@Platform@@Q$AAA@XZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?AlignedFree@Heap@Details@Platform@@SAXPAX@Z。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?Allocate@Heap@Details@Platform@@SAPAXII@Z。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?AllocateException@Heap@Details@Platform@@SAPAXII@Z。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?Free@Heap@Details@Platform@@SAXAX@Z。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?GetActivationFactory@Details@Platform@@YGJPAVModuleBase@1WRL@Microsoft@@PAUHSTRING__@@PAPAUIActivationFactory@@@Z。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?GetActivationFactoryByPCWSTR@@YGJPAXAAVGuid@Platform@@PAPAX@Z。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?GetIBoxArrayVtable@Details@Platform@@YGPAXPAX@Z。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?GetIidsFn@@YGJHPAKPBU__s_GUID@@PAPAVGuid@Platform@@@Z。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?InitializeData@Details@Platform@@YAJH@Z。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?ReleaseTarget@ControlBlock@Details@Platform@@AAEXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?TerminateModule@Details@Platform@@YG_NPAVModuleBase@1WRL@Microsoft@@@Z。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?UninitializeData@Details@Platform@@YAXH@Z。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseAccessDeniedException@@YGXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseCOMException@@YGXJ@Z。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseChangedStateException@@YGXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseClassNotRegisteredException@@YGXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseDisconnectedException@@YGXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseFailureException@@YGXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseInvalidArgumentException@@YGXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseInvalidCastException@@YGXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseNotImplementedException@@YGXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseNullReferenceException@@YGXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseObjectDisposedException@@YGXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseOperationCanceledException@@YGXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseOutOfBoundsException@@YGXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseOutOfMemoryException@@YGXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_WinRTraiseWrongThreadException@@YGXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 vccorlib140.dll 中的 API ?__abi_translateCurrentException@@YGJ_N@Z。 sample.dll 调用此 API。
此应用程序类型不支持 vcruntime140.dll 中的 API _CxxThrowException。 sample.dll 调用此 API。
此应用程序类型不支持 vcruntime140.dll 中的 API __CxxFrameHandler3。 sample.dll 调用此 API。
此应用程序类型不支持 vcruntime140.dll 中的 API __std_exception_copy。 sample.dll 调用此 API。
此应用程序类型不支持 vcruntime140.dll 中的 API __std_exception_destroy。 sample.dll 调用此 API。
此应用程序类型不支持 vcruntime140.dll 中的 API __std_terminate。 sample.dll 调用此 API。
此应用程序类型不支持 vcruntime140.dll 中的 API __std_type_info_destroy_list。 sample.dll 调用此 API。
此应用程序类型不支持 vcruntime140.dll 中的 API __telemetry_main_invoke_trigger。 sample.dll 调用此 API。
此应用程序类型不支持 vcruntime140.dll 中的 API __telemetry_main_return_trigger。 sample.dll 调用此 API。
此应用程序类型不支持 vcruntime140.dll 中的 API __vcrt_InitializeCriticalSectionEx。 sample.dll 调用此 API。
此应用程序类型不支持 vcruntime140.dll 中的 API _except_handler4_common。 sample.dll 调用此 API。
此应用程序类型不支持 vcruntime140.dll 中的 API _purecall。 sample.dll 调用此 API。
此应用程序类型不支持 vcruntime140.dll 中的 API memcpy。 sample.dll 调用此 API。
此应用程序类型不支持 vcruntime140.dll 中的 API memmove。 sample.dll 调用此 API。
此应用程序类型不支持 vcruntime140.dll 中的 API memset。 sample.dll 调用此 API。
此应用程序类型不支持 msvcp140.dll 中的 API ?_Xbad_alloc@std@@YAXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 msvcp140.dll 中的 API ?_Xlength_error@std@@YAXPBD@Z。 sample.dll 调用此 API。
此应用程序类型不支持 msvcp140.dll 中的 API ?_Xout_of_range@std@@YAXPBD@Z。 sample.dll 调用此 API。
此应用程序类型不支持 concrt140.dll 中的 API ??1_StructuredTaskCollection@details@Concurrency@@QAE@XZ。 sample.dll 调用此 API。
此应用程序类型不支持 concrt140.dll 中的 API ?Free@Concurrency@@YAXPAX@Z。 sample.dll 调用此 API。
此应用程序类型不支持 concrt140.dll 中的 API ?_CheckTaskCollection@_UnrealizedChore@details@Concurrency@@IAEXXZ。 sample.dll 调用此 API。
此应用程序类型不支持 concrt140.dll 中的 API ?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z。 sample.dll 调用此 API。
此应用程序类型不支持 kernel32.dll 中的 API GetModuleHandleW。 sample.dll 调用此 API。
此应用程序类型不支持 kernel32.dll 中的 API TlsAlloc。 sample.dll 调用此 API。
此应用程序类型不支持 kernel32.dll 中的 API TlsFree。 sample.dll 调用此 API。
此应用程序类型不支持 kernel32.dll 中的 API TlsGetValue。 sample.dll 调用此 API。
此应用程序类型不支持 kernel32.dll 中的 API TlsSetValue。 sample.dll 调用此 API。
此应用程序类型不支持 kernel32.dll 中的 API UnhandledExceptionFilter。 sample.dll 调用此 API。

在进一步的谷歌搜索中,我发现了这些 Link-1Link-2


上述链接中可能的解决方案是卸载 KB 2976978 更新并重新运行 WACK 测试 MS Support Error Link
我的机器似乎没有这个 KB 2976978 更新。
控制面板\程序\程序和功能 查看已安装的更新搜索已安装的更新 似乎没有找到上述更新。
我已经检查过了:SO post 正如这篇 SO 帖子中提到的那样,即使在我的情况下,一切都可以使用 /ZW /EHsc /D 标志编译正常
我的 VS 详细信息是:

MS Visual Studio 专业版 2015
版本 14.0.25123.00 更新 2
MS .NET 框架
版本 4.6.01038

我们将不胜感激。

【问题讨论】:

    标签: c++ visual-studio-2015 windows-10-universal c++-cx wack


    【解决方案1】:

    问题在于,我的 C++ 原生库引用的是桌面 CRT dll(vccorlib140.dll),而不是存储 CRT dll(vccorlib140_app.dll)。

    该应用程序引用了桌面 CRT,因为我将我的应用程序与该位置的库链接:

    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib

    结果是构建一个我们需要从这个位置引用库的商​​店应用:

    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\store

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      • 2017-07-30
      • 2016-01-24
      • 2018-04-30
      • 2016-05-01
      相关资源
      最近更新 更多