现在我有一个UWP应用,该应用在不同平台和Win10版本上的不同地方崩溃,到目前为止,只有一个提供了关于Microsoft.NET.CoreRuntime.1.1
丢失的某种可行的错误消息,并且开发人员应该就此进行联系。
我看过一些文章,概述了手动完成与此相关的工作的方法,但是我不得不想象这不是Visual Studio中的预期工作流。
Iff 我知道我要支持的平台和的最低Windows版本应该不是我的应用程序或其生成的清单确定需要哪些依赖项,并为我提供自动打包它们的选项?如果是这样,怎么办?最好使用CLI示例,但Visual Studio的答案就足够了。
Store Apps自动安装所需的一切并没有意义,但是我需要我的sideload应用程序的使用者每次都运行此powershell脚本Add-AppDevPackage.ps1
,以确保不丢失任何依赖项。
目前,这不可能完成,但是可以。目前,您唯一可以做的就是使用powershell脚本或手动处理依赖项包。也就是说,powershell脚本比类似的“问答”中所指示的更加灵活。例如,this answer使其看起来比需要的复杂:
...如果要使用PowerShell安装应用程序,则仍需要安装依赖项。您可以使用Add-AppxPackage cmdlet将签名的应用程序包添加到用户帐户,并使用DependencyPath参数添加安装该应用程序包所需的所有其他程序包。请参阅主题Add-AppxPackage和示例1:添加应用程序包以安装应用程序和依赖项。
Add-AppxPackage -Path "C:\Users\user1\Desktop\MyApp.appx" -DependencyPath "C:\Users\user1\Desktop\Microsoft.NET.CoreRuntime.2.1.appx"
您根本不需要直接指向依赖项,即,如果从生成的{中运行powershell脚本,则甚至不需要使用-DependencyPath
开关{1}}目录,如下所示:
您需要做的就是直接运行脚本,不仅安装依赖项,还安装应用程序。
答案 0 :(得分:1)
何时应构建.AppXBundle而不是.AppX,反之亦然?
.appx是一个文件,其中包含可以以侧面方式加载到设备上的格式的应用程序。由Visual Studio创建的任何单个应用程序包文件均不应提交给合作伙伴中心,而应仅用于侧面加载和测试。
应用程序捆绑包是一种包类型,可以包含多个应用程序包,每个应用程序包都旨在支持特定的设备体系结构。例如,一个应用程序捆绑包可以包含用于x86,x64和ARM配置的三个单独的应用程序包。应尽可能生成应用程序捆绑包,因为它们使您的应用程序可在尽可能广泛的设备上使用。
因此,如果您的应用程序不会发布到MS store,那么您只想加载它。您可以使用.appx文件。
如何确保我的应用下载并安装正在安装它的系统中缺少的所有依赖项?
@Breeze在此线程How to add Microsoft.NET.CoreRuntime.2.1 for UWP package installer?上回答了这个问题。如果用户从MS store安装您的应用程序,则store将自动安装您的应用程序需要但未安装的依赖项。如果他们在旁加载它,则需要手动安装依赖项。这些依赖项位于程序包文件夹中的“依赖关系”文件夹中。
如何确保我的依赖项直接从应用程序包打包和安装,而不是以后下载?
根据@Breeze的回复,如果将应用程序包发布到MS Store,并让用户从MS Store安装该应用程序,则该商店将自动安装依赖项。这些依赖程序包不应附加到某人应用程序包。它应该安装在OS上,其他应用也可能需要它。