none
UWP with EFCore+Sqlite无法通过应用商店的验证 RRS feed

  • 问题

  • 万能的MSDN,

      我照着教程 UWP - New Database [https://docs.microsoft.com/en-us/ef/core/get-started/uwp/getting-started] 的步骤,给UWP应用添加了EFCore+Sqlite,App可以我的机器上正常运行,但不能通过windows store的应用验证,这是怎么回事呢?

    我贴了出问题的地方:

    =====

    应用版本:

    1.1.0.0
    应用体系结构:
    x64
    工具包版本:
    10.0.14393.33
    操作系统版本:
    Microsoft Windows 10 专业版 (10.0.14393.0)
    OS 体系结构:
    x64
    报告时间:

    2016/12/25 16:33:46

    Windows 安全功能测试
    失败
    二进制分析器
            • 发现错误: 二进制分析器测试检测到以下错误:
              • 文件 c:\program files\windowsapps\51900a0dfdc68.27948d8d6e661_1.1.0.0_x64__9w70a5dfr1b10\sqlite3.dll 未通过 AppContainerCheck 检查。
              • 文件 c:\program files\windowsapps\51900a0dfdc68.27948d8d6e661_1.1.0.0_x64__9w70a5dfr1b10\sqlite3.dll 未通过 DBCheck 检查。
            • 未修复时会产生影响: 如果应用未使用可用的 Windows 保护,则它可能会增加客户计算机遭遇恶意软件的漏洞。
            • 如何修复: 在链接应用时应用所需链接器选项 - SAFESEH、DYNAMICBASE、NXCOMPAT 和 APPCONTAINER。有关详细信息,请参阅下面的链接:
              正在修复二进制分析器错误

            支持的 API 测试
            失败
            支持的 API
            • 发现错误: 支持的 API 测试检测到以下错误:
              • 此应用程序类型不支持 kernel32.dll 中的 API AreFileApisANSI。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API CompareStringA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API CompareStringW。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API CreateFileA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API CreateFileMappingA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API CreateFileMappingW。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API CreateFileW。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API EnumSystemLocalesA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API ExitProcess。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API FatalAppExitA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API FreeEnvironmentStringsA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API FreeEnvironmentStringsW。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetACP。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetDateFormatA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetEnvironmentStrings。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetEnvironmentStringsW。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetFileSize。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetFullPathNameA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetLocaleInfoA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetLocaleInfoW。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetModuleHandleW。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetOEMCP。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetStartupInfoA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetStdHandle。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetStringTypeA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetTempPathA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetTickCount。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetTimeFormatA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetUserDefaultLCID。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetVersionExA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API GetVersionExW。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API HeapValidate。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API IsValidLocale。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API LCMapStringA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API LCMapStringW。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API LoadLibraryA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API LoadLibraryW。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API LockFile。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API MapViewOfFile。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API RtlCaptureContext。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API RtlVirtualUnwind。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API SetConsoleCtrlHandler。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API SetEnvironmentVariableA。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API SetHandleCount。sqlite3.dll 调用此 API。
              • 此应用程序类型不支持 kernel32.dll 中的 API UnhandledExceptionFilter。sqlite3.dll 调用此 API。
            • 此应用程序类型不支持 kernel32.dll 中的 API UnlockFile。sqlite3.dll 调用此 API。
          • 未修复时会产生影响: 使用不在用于 Windows 应用商店应用的 Windows SDK 中的 API 与 Windows 应用商店认证要求冲突。
          • 如何修复: 查看错误消息以确定不属于适用于 Windows 应用商店应用的 Windows SDK 的 API。请注意,在调试配置中生成的应用或未根据需要启用 .NET Native 的应用可能无法通过此测试,因为这些环境可能拉入不支持的 API。请使用发布配置重新测试你的应用,并根据需要启用 .NET Native。 有关详细信息,请参阅下面的链接:
            Windows 应用商店应用中 Windows API 的替代选择。
    2016年12月25日 8:45

答案

  • 终于找到了解法:

    【Upgrade to Microsoft.EntityFrameworkCore.Sqlite 1.1.0 broke app complaince with WACK #7040 】 https://github.com/aspnet/EntityFramework/issues/7040

    2016年12月26日 12:11

全部回复

  • 终于找到了解法:

    【Upgrade to Microsoft.EntityFrameworkCore.Sqlite 1.1.0 broke app complaince with WACK #7040 】 https://github.com/aspnet/EntityFramework/issues/7040

    2016年12月26日 12:11
  • 我现在遇到了类似问题,VS2017

    Windows 安全中心功能测试
    失败
    二进制分析器
    发现错误: 二进制分析器测试检测到以下错误:
    文件 C:\Program Files\windowsapps\830bc603.46511dc6983d_1.0.25.0_x86__ajt6e7wk3fe1c\clrcompression.dll 未通过 AppContainerCheck 检查。
    文件 C:\Program Files\windowsapps\830bc603.46511dc6983d_1.0.25.0_x86__ajt6e7wk3fe1c\clrjit.dll 未通过 AppContainerCheck 检查。
    文件 C:\Program Files\windowsapps\830bc603.46511dc6983d_1.0.25.0_x86__ajt6e7wk3fe1c\entrypoint\mozhilun.exe 未通过 AppContainerCheck 检查。
    文件 C:\Program Files\windowsapps\830bc603.46511dc6983d_1.0.25.0_x86__ajt6e7wk3fe1c\entrypoint\mozhilun.exe 未通过 NXCheck 检查。
    未修复时会产生影响: 如果应用未使用可用的 Windows 保护,则它可能会增加客户计算机遭遇恶意软件的漏洞。
    如何修复: 在链接应用时应用所需链接器选项 - SAFESEH、DYNAMICBASE、NXCOMPAT 和 APPCONTAINER。有关详细信息,请参阅下面的链接:
    正在修复二进制分析器错误

    2019年6月12日 10:41