【问题标题】:How to fix Microsoft Store package validation error: You cannot submit pre-compiled .NET Native packages?如何修复 Microsoft Store 包验证错误:您无法提交预编译的 .NET Native 包?
【发布时间】:2021-04-22 18:13:19
【问题描述】:

我正在开发一个 WPF 应用程序,我添加了一个自定义 WinRT 组件(在 UWP 中实现),我正在通过 XamlHost 在 WPF 应用程序中托管这个 win10 组件。我遵循documentation 的每一步,我的自定义控件是在UWP app project 而不是UWP class library 中实现的。该应用程序运行良好,UWP 组件在WPF 应用程序中正确显示。我可以创建应用程序包,但是当我上传到 Microsoft Store(.msixupload 文件)时,抛出了以下错误:

Package acceptance validation error: You cannot submit pre-compiled .NET Native packages. Please upload the Microsoft Store appxupload file and try again.

预编译的 .NET Native 包是什么意思?

我还检查了sample application,其中包含针对不同架构的winrthost.dll。但是文档没有提到这一点,我还添加到我的 UWP 项目中并按照示例应用程序的 .csproj 文件中的方式进行配置。我试图删除这个 dll 文件,但商店仍然不接受构建。

当我删除对UWP App 项目的引用时,应用商店接受了我的构建。当我重新添加引用(不使用其中的任何组件)时,商店拒绝了。所以我认为问题出在自定义 UWP 应用程序中,但这里的预编译 .NET Native 包可能是什么?

更新:

我向解决方案添加了一个新的空 UWP 应用项目,只需设置 XamlApplication 并从 WPF 应用程序中引用它。 UWP 组件显示在 WPF 中(我只添加了一个绿色矩形),但是当我尝试上传到商店时,它显示了相同的错误消息。

正如documentation 所说,还尝试创建 UWP 类库而不是 UWP 应用程序。创建了构建并接受了商店...有什么区别?

文档说:

您也可以在 UWP 应用项目中定义自定义控件 您在上一节中创建的。然而,这些步骤在一个 单独的类库项目用于说明目的,因为这 通常是实现自定义控件以实现可移植性的方式。

因此,理论上可以发布一个 WPF 应用程序,其中包含托管在 UWP 应用程序中的自定义 WinRT 组件,对吧?那为什么商店不接受呢?

【问题讨论】:

    标签: c# wpf uwp xaml-islands


    【解决方案1】:

    经过一天的调查,我发现解决方案只是UWP app添加为Packaging项目的引用(不仅仅是WPF app)。

    当我添加到引用中时,商店接受了构建。更多详情here.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-03
      • 2021-01-18
      • 2017-09-02
      • 2012-09-08
      • 2020-06-30
      • 1970-01-01
      • 2018-12-01
      相关资源
      最近更新 更多