4

我观察到一种奇怪的情况,即我的应用程序在我的计算机上通过了 WACK,但由于 API 不受支持,在认证阶段提交到商店失败。我正在使用 MSVC 15 更新 2。

解决方案包括:

  1. 通用APP
  2. 类库(通用 Windows)
  3. 类库(便携式)
  4. EF 核心 RC2
  5. Syncfusion SfChart.UWP.dll

商店认证输出:

发现错误:支持的 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 在我的机器上没有发现任何错误。我尝试了 Visual Studio 附带的 WACK 和单独安装的 WACK。

“类库(便携式)”会因为它的存在而导致这种情况吗?

更新:它不是可移植类库,我删除了它,但仍然遇到同样的认证失败。

4

2 回答 2

3

这是由 entityFrameworkCore.Tools 引起的。它们仍然是预发布版本,不能正确支持 .net native。有一种解决方法,但您也可以在使用 .net native 编译它并将其提交到商店之前将其从项目中删除。

于 2016-07-07T01:25:56.293 回答
2

您是否希望Microsoft.Extensions.PlatformAbstractions.dll包含在您的包裹中?这可能包含在.appxupload文件中内置的包中,而不是您在本地构建以进行测试的包中。我看到了一些最近的案例,其中项目包含对包中不必要且不兼容的 dll 的引用。您可能需要调查此角度并验证此文件是否包含不正确。

在本地验证您可能通过的原因的一种方法是检查programinventory_*.xml文件%localappdata%\Microsoft\appcertkit,并查看是否可以找到任何对Microsoft.Extensions.PlatformAbstractions.dll. 如果在本地测试时找不到该文件,那么最好的办法是调查您的项目以及为什么在您构建.appxupload文件以提交到商店时它会被包含在内。

于 2016-06-22T17:16:24.897 回答