Vladimir Akopyan
Vladimir Akopyan

Reputation: 654

App passes WACK but fails store submission Certification

I am observing a strange situation where my app passes WACK on my computer, but submission to the store fails at Certification stage, due to unsupported APIs. I am using MSVC 15 Update 2.

Solution Consists of:

  1. Universal APP
  2. Class Library (Universal Windows)
  3. Class Library (Portable)
  4. EF Core RC2
  5. Syncfusion SfChart.UWP.dll

Store Certification output:

Error Found: The supported APIs test detected the following errors:

  • API sysctl in libc.dll is not supported for this application type. Microsoft.Extensions.PlatformAbstractions.dll calls this API.
  • API uname in libc.dll is not supported for this application type. Microsoft.Extensions.PlatformAbstractions.dll calls this API.
  • API RtlGetVersion in ntdll.dll is not supported for this application type. Microsoft.Extensions.PlatformAbstractions.dll calls this API.

As mentioned, no errors are spotted by WACK on my machine. I tried both WACK that comes with visual studio and WACK that's installed separately.

Could "Class Library (Portable)" cause this just by it's existence?

Update: It's not the portable class library, i removed it and still get the same certification failure.

Upvotes: 4

Views: 440

Answers (2)

Vladimir Akopyan
Vladimir Akopyan

Reputation: 654

This was caused by entityFrameworkCore.Tools. They are still pre-release and do not support .net native properly. There is a workaround, but you can also simply remove it from the project before compiling it with .net native and submitting it to the store.

Upvotes: 3

Josh
Josh

Reputation: 21

Are you expecting Microsoft.Extensions.PlatformAbstractions.dll to be included in your package? It's possible that this is getting included in the packages built into the .appxupload file, but not in the packages you build locally to test. I have seen some recent cases where the project is including references to dlls that are unnecessary in the package and are not compliant. You may want to investigate this angle and verify if this file is being included incorrectly.

One way to validate locally why you might be passing is to check the programinventory_*.xml file in %localappdata%\Microsoft\appcertkit, and see if you can find any references to Microsoft.Extensions.PlatformAbstractions.dll. If the file is not found when locally testing, then your best bet is to investigate your project and why it's getting including when you build the .appxupload file to submit to the store.

Upvotes: 2

Related Questions