0

My UWP-app (C++ XAML/DirectX) is using Windows Runtime Component (C#) (*)

Windows App Cert Kits "Supported API Test" fails with error (**) that suggests i should activate .net native. If that is the case how do i can compile WRC to native? WRC project don't have any options involving .net native and my project is C++ app which is also lacks any options regarding .net native.

Note:

  • My app works, including functionality by WRC.
  • Without WRC my app passes WACK.

(*) WRC that i use is https://www.nuget.org/packages/NotificationsExtensions.Win10/

(**) Error that i got:

  • API ExecuteAssembly in uwphost.dll is not supported for this application type. UWPShim.exe calls this API.
  • API DllGetActivationFactory in uwphost.dll is not supported for this application type. UWPShim.exe has an export that forwards to this API.
  • API OpenSemaphore in api-ms-win-core-synch-l1-1-0.dll is not supported for this application type. System.Threading.dll calls this API.
  • API CreateSemaphore in api-ms-win-core-kernel32-legacy-l1-1-0.dll is not supported for this application type. System.Threading.dll calls this API.

Edit: I use Windows 10, Visual Studio 2015 Update 3 with latest Windows 10 SDK (version number is 10.0.14393.33)

Temuri
  • 21
  • 5

2 Answers2

1

It is actually supported scenario - you can publish such apps to Windows Store just fine and error is just a bug on the WACK part and can be ignored.

Temuri
  • 21
  • 5
0

It's unsupported scenario in Windows 10 UWP apps. C# code in UWP should be compiled with .NET Native to pass certification (although it can run freely without .NET Native compilation!). But .NET Native toolchain doesn't support native compilation of particular Windows Runtime Components. It's supported only for scenario when main app is also C# app. So, when you reference C# WinRT component from C++ code, it loads .NET Runtime during component activation (as it doesn't compiled to native code with .NET Native!) and .NET Runtime is restricted for store certification and so WACK fail.

Evgeny Ipatov
  • 101
  • 1
  • 5
  • It is actually supported scenario - you can publish such apps just fine and error is just a bug on the WACK part – Temuri Dec 04 '16 at 03:23