Visual Studio内置UWP模板项目VS内运行正常,构建后启动崩溃求助
排查点梳理
- 确认运行方式是否符合UWP设计要求
UWP为沙箱化打包应用,不支持直接运行编译输出目录(bin/文件夹下)的原始exe文件。Visual Studio内部启动时会自动完成应用部署、沙箱权限配置、依赖项校验等前置步骤,因此运行正常。直接运行bin目录下的exe触发崩溃属于预期行为,正确运行方式为:对项目执行「部署」操作后,从系统开始菜单启动已安装的UWP应用,或通过msbuild /t:Deploy命令完成部署后启动。 - 修正csproj中的版本适配配置
现有配置存在版本不匹配问题,无需复制系统文件夹,直接替换原有VisualStudioVersion相关配置块为适配VS2019的配置即可:
修改完成后,删除解决方案根目录、各个项目目录下的<PropertyGroup> <VisualStudioVersion>16.0</VisualStudioVersion> <MinimumVisualStudioVersion>16.0</MinimumVisualStudioVersion> </PropertyGroup> <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v16.0\Microsoft.Windows.UI.Xaml.CSharp.targets" />bin、obj文件夹,再重新执行完整的生成+部署流程。 - 定位具体缺失的依赖文件
若正确部署后仍存在崩溃问题,可使用进程监控工具筛选UWP应用进程的文件访问记录,查找返回NAME NOT FOUND、PATH NOT FOUND的记录,定位触发System.IO.FileNotFoundException的具体缺失文件。 - 补全全局异常捕获逻辑
仅包裹App构造函数无法捕获框架初始化阶段抛出的异常,需要在App.xaml.cs中注册全局未处理异常事件,输出完整异常堆栈信息:public App() { InitializeComponent(); Suspending += OnSuspending; // 注册全局未处理异常捕获 UnhandledException += (sender, e) => { e.Handled = true; System.Diagnostics.Debug.WriteLine(e.Exception.ToString()); }; } - 校验系统与项目版本适配性
检查UWP项目的「目标平台版本」「最低支持版本」配置,确认与当前Windows 10 19042系统版本兼容,避免引用高版本系统独有的API导致运行时依赖缺失。 - 验证应用签名配置
检查项目打包签名设置,确认使用的测试证书已安装到当前系统的「受信任的根证书颁发机构」存储区,未完成签名信任配置的UWP应用部署后也会出现启动崩溃问题。
内容的提问来源于stack exchange,提问作者GreenTriangle
相关产品推荐
相关产品推荐

