仅当在VSTS托管代理上构建时,具有发布配置和.net本机崩溃的UWP App

时间:2017-11-28 17:17:10

标签: c# uwp win-universal-app azure-devops azure-pipelines-build-task

我们在VSTS上为我们的UWP应用实现了构建管道。我们可以在发布模式下在任何开发人员工作站上构建应用程序,并启用.NET本机,并且应用程序按预期工作。

当我们在VSTS中的Hosted VS2017代理上构建相同的应用程序时,该应用程序也会成功构建,并且可以在设备上安装生成的appxbundle文件。但是,应用程序在显示启动画面后立即崩溃。

我认为在VS2017中构建应用程序的方式与在VSTS中使用Hosted VS2017 Agent构建应用程序的方式没有任何区别。

事件日志在崩溃后立即显示以下内容:

错误应用程序名称:Foo.exe,版本:0.19.1.0,时间戳:0x5a1d8e4a 错误模块名称:Windows.UI.Xaml.dll,版本:10.0.16299.15,时间戳:0xf6706fe0 异常代码:0xc000027b 故障偏移:0x00000000006e7269 错误进程ID:0x3044 错误应用程序启动时间:0x01d368691c216952 错误的应用程序路径:C:\ Program Files \ WindowsApps \ Foo_0.19.1.0_x64__fdr8vq4bd9b2a \ Foo.exe 错误模块路径:C:\ Windows \ System32 \ Windows.UI.Xaml.dll 报告编号:2655f631-947c-42e5-b3d4-2d2679a93332 错误包全名:Foo_0.19.1.0_x64__fdr8vq4bd9b2a 错误的包相关应用程序ID:App

VSTS中的构建步骤配置如下:

/p:AppxBundlePlatforms="$(BuildPlatform)" /p:AppxPackageDir="$(Build.ArtifactStagingDirectory)\AppxPackages\\" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload

如果我使用相同的命令行并在任何开发人员工作站上运行它,则可以安装和启动生成的appxbundle而不会发生任何崩溃。

知道差异可能是什么,或者我如何最好地调试应用程序?

1 个答案:

答案 0 :(得分:0)

问题是由VSTS构建管道中的上传任务到App Center(又名Mobile Center)引起的。这个任务似乎以一种非常奇怪的方式“破坏”了文件。

我使用App Center CLI将任务替换为一个,并且上传工作,应用程序不再崩溃。

我在这里发布了另一个根本原因的问题:Distribute UWP App to App Center (aka Mobile Center) using VSTS Task