UWP Windows-10 WACK тестирует ошибки

Я новичок в разработке приложений для Windows. Я создал приложение для таргетинга на C#, Windows 10 для настольных и мобильных платформ. Мое приложение C# вызывает компонент времени выполнения Windows, написанный на C++ (C++/cx).

Я пошел по этой ссылке MSDN, чтобы запустить тест WACK.

У меня на компьютере установлен Windows App Certification Kit 10.0. Для запуска теста я делаю Проверить приложение магазина -> Выбрать свое приложение из списка установленных приложений на машине. Мое приложение установлено в режиме релиза. Когда я запускаю тест WACK, тест поддерживаемого API завершается неудачно со следующим:

API?? 0Delegate @ Platform @@ Q $ AAA @ XZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API. 
API?? 0Exception @ Platform @@ Q $ AAA @ H @ Z в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API?? 0NotImplementedException @ Platform @@ Q $ AAA @ XZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API?? 0Object @ Platform @@ Q $ AAA @ XZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? AlignedFree @ Heap @ Details @ Platform @@ SAXPAX @ Z в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? Allocate @ Heap @ Details @ Platform @@ SAPAXII @ Z в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? AllocateException @ Heap @ Details @ Platform @@ SAPAXII @ Z в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? Free @ Heap @ Details @ Platform @@ SAXPAX @ Z в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? GetActivationFactory @ Details @ Platform @@ YGJPAVModuleBase @ 1WRL @ Microsoft @@ PAUHSTRING __ @@ PAPAUIActivationFactory @@@ Z в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? GetActivationFactoryByPCWSTR @@ YGJPAXAAVGuid @ Platform @@ PAPAX @ Z в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? GetIBoxArrayVtable @ Details @ Platform @@ YGPAXPAX @ Z в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? GetIidsFn @@ YGJHPAKPBU__s_GUID @@ PAPAVGuid @ Platform @@@ Z в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? InitializeData @ Details @ Platform @@ YAJH @ Z в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? ReleaseTarget @ ControlBlock @ Details @ Platform @@ AAEXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? TerminateModule @ Details @ Platform @@ YG_NPAVModuleBase @ 1WRL @ Microsoft @@@ Z в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? UninitializeData @ Details @ Platform @@ YAXH @ Z в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseAccessDeniedException @@ YGXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseCOMException @@ YGXJ @ Z в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseChangedStateException @@ YGXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseClassNotRegisteredException @@ YGXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseDisconnectedException @@ YGXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseFailureException @@ YGXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseInvalidArgumentException @@ YGXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseInvalidCastException @@ YGXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseNotImplementedException @@ YGXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseNullReferenceException @@ YGXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseObjectDisposedException @@ YGXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseOperationCanceledException @@ YGXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseOutOfBoundsException @@ YGXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseOutOfMemoryException @@ YGXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_WinRTraiseWrongThreadException @@ YGXXZ в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? __ abi_translateCurrentException @@ YGJ_N @ Z в vccorlib140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API _CxxThrowException в vcruntime140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API __CxxFrameHandler3 в vcruntime140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API __std_exception_copy в vcruntime140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API __std_exception_destroy в vcruntime140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API __std_terminate в vcruntime140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API __std_type_info_destroy_list в vcruntime140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API __telemetry_main_invoke_trigger в vcruntime140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API __telemetry_main_return_trigger в vcruntime140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API __vcrt_InitializeCriticalSectionEx в vcruntime140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API _except_handler4_common в vcruntime140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API _purecall в vcruntime140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API memcpy в vcruntime140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API memmove в vcruntime140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API memset в vcruntime140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? _Xbad_alloc @ std @@ YAXXZ в msvcp140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? _Xlength_error @ std @@ YAXPBD @ Z в msvcp140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? _Xout_of_range @ std @@ YAXPBD @ Z в msvcp140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API?? 1_StructuredTaskCollection @ details @ Concurrency @@ QAE @ XZ в concrt140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? Free @ Concurrency @@ YAXPAX @ Z в concrt140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? _CheckTaskCollection @ _UnrealizedChore @ details @ Concurrency @@ IAEXXZ в concrt140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API? _RunAndWait @ _StructuredTaskCollection @ details @ Concurrency @@ QAG? AW4_TaskCollectionStatus @ 23 @ PAV_UnrealizedChore @ 23 @@ Z в concrt140.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API GetModuleHandleW в kernel32.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API TlsAlloc в kernel32.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API TlsFree в kernel32.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API TlsGetValue в kernel32.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API TlsSetValue в kernel32.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.
API UnhandledExceptionFilter в kernel32.dll не поддерживается для этого типа приложения. sample.dll вызывает этот API.

При дальнейшем поиске я нашел эти Link-1 и Link-2


Возможное решение по указанным выше ссылкам - удалить обновление KB 2976978 и повторно запустить WACK-тесты. MS Support Error Link
На моей машине, похоже, нет этого обновления KB 2976978.
Панель управления \ Программы \ Программы и компоненты Просмотр установленных обновлений или Поиск установленных обновлений, по- видимому, не находит вышеуказанное обновление.
Я проверил это: SO post Как уже упоминалось в этом SO посте, даже в моем случае все прекрасно работает с флагами /ZW /EHsc /D
Мои детали VS:

MS Visual Studio Professional 2015 

Версия 14.0.25123.00 Обновление 2
MS.NET Framework
Версия 4.6.01038

Любая помощь будет высоко оценена.

1 ответ

Решение

Проблема заключалась в том, что моя родная библиотека C++ ссылалась на DLL- файлы Desktop CRT (vccorlib140.dll) вместо хранилища CRT DLL (vccorlib140_app.dll).

Приложение ссылалось на Desktop CRT, потому что я связывал свое приложение с библиотеками из этого места:

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

Оказывается, чтобы построить приложение магазина, нам нужно сослаться на libs из этого места:

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

Другие вопросы по тегам