1

我正在开发一个WPF应用程序,我添加了一个自定义 WinRT 组件(在 中实现UWP),我WPF通过 XamlHost 在应用程序中托管这个 win10 组件。我遵循文档的每一步,我的自定义控件是在 aUWP app project而不是 a中实现的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 包是什么意思?

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

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

更新:

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

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

文档说:

你也可以在上一节中创建的 UWP 应用项目中定义自定义控件。但是,出于说明目的,这些步骤在单独的类库项目中执行此操作,因为这通常是实现自定义控件以实现可移植性的方式。

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

4

1 回答 1

1

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

当我添加到参考资料中时,商店接受了构建。更多细节在这里

于 2021-01-19T08:14:26.057 回答