我观察到一个奇怪的情况,我的应用程序在我的计算机上通过WACK,但由于API不受支持,在认证阶段提交到商店失败。我正在使用MSVC 15 Update 2.
解决方案包括:
商店认证输出
发现错误:支持的API测试检测到以下错误:
- 此应用程序类型不支持libc.dll中的API sysctl。 Microsoft.Extensions.PlatformAbstractions.dll调用此API。
- 此应用程序类型不支持libc.dll中的API uname。 Microsoft.Extensions.PlatformAbstractions.dll调用此API。
- 此应用程序类型不支持ntdll.dll中的API RtlGetVersion。 Microsoft.Extensions.PlatformAbstractions.dll 调用此API。
如上所述,WACK在我的机器上没有发现任何错误。我尝试了视觉工作室附带的WACK和单独安装的WACK。
“类库(便携式)”会不会因为它的存在而导致这种情况?
更新:这不是便携式类库,我将其删除并仍然获得相同的认证失败。
答案 0 :(得分:3)
这是由entityFrameworkCore.Tools引起的。它们仍然是预发行版,并且不支持.net本地正常。 有一种解决方法,但您也可以在使用.net native编译它并将其提交到商店之前将其从项目中删除。
答案 1 :(得分:2)
您希望Microsoft.Extensions.PlatformAbstractions.dll
包含在您的套餐中吗?这可能会包含在.appxupload
文件中内置的包中,但不包含在本地构建的包中以进行测试。我已经看到一些最近的案例,其中项目包括对包中不必要的dll的引用,并且不符合要求。您可能需要调查此角度并验证是否正确包含此文件。
在本地验证可能传递的原因的一种方法是检查programinventory_*.xml
中的%localappdata%\Microsoft\appcertkit
文件,看看是否可以找到对Microsoft.Extensions.PlatformAbstractions.dll
的任何引用。如果在本地测试时找不到该文件,那么最好的办法是调查您的项目以及在构建要提交给商店的.appxupload
文件时包含的原因。