VS2022中WPF Browser App(XBAP)无法运行:哈希与清单不符
XBAP项目在VS2022运行报错:文件哈希与清单不一致问题解决
问题描述
在Windows 11系统中,使用Visual Studio 2013可正常运行XBAP项目,但在Visual Studio 2022中创建并运行WPF Browser App(XBAP)项目时,已开启Edge浏览器IE模式,仍出现错误:
文件WpfBrowserApp3.exe的计算哈希值与清单中指定的哈希值不一致
详细错误日志
平台版本信息 Windows : 10.0.22631.0 (Win32NT) 公共语言运行时 : 4.0.30319.42000 System.Deployment.dll : 4.8.9176.0 编译版本: NET481REL1LAST_B clr.dll : 4.8.9181.0 编译版本: NET481REL1LAST_C dfdll.dll : 4.8.9176.0 编译版本: NET481REL1LAST_B dfshim.dll : 10.0.22621.30000 (WinBuild.160101.0800) 来源 部署URL : file:///C:/Users/user/source/repos/WpfBrowserApp3/WpfBrowserApp3/bin/Debug/WpfBrowserApp3.xbap 应用程序URL : file:///C:/Users/user/source/repos/WpfBrowserApp3/WpfBrowserApp3/bin/Debug/WpfBrowserApp3.exe.manifest 标识 部署标识 : WpfBrowserApp3.xbap, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ec569a7ebac193ca, processorArchitecture=msil 应用程序标识 : WpfBrowserApp3.exe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ec569a7ebac193ca, processorArchitecture=msil, type=win32 应用程序摘要 * 仅在线应用程序。 * 浏览器托管应用程序。 错误摘要 以下是错误摘要,详细错误信息列在日志后面。 * 下载应用程序时发生异常。检测到以下失败消息: + 文件WpfBrowserApp3.exe的计算哈希值与清单中指定的哈希值不一致。 组件存储事务失败摘要 未检测到事务错误。 警告 操作过程中未出现警告。 操作进度状态 无阶段信息可用。 错误详细信息 操作过程中检测到以下错误。 * [03/02/2024 19:58:00] System.Deployment.Application.InvalidDeploymentException (HashValidation) - 文件WpfBrowserApp3.exe的计算哈希值与清单中指定的哈希值不一致。 - 源: System.Deployment - 堆栈跟踪: 在 System.Deployment.Application.ComponentVerifier.VerifyFileHash(String filePath, Hash hash) 在 System.Deployment.Application.ComponentVerifier.VerifyFileHash(String filePath, HashCollection hashCollection) 在 System.Deployment.Application.ComponentVerifier.FileComponent.Verify() 在 System.Deployment.Application.ComponentVerifier.VerifyComponents() 在 System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState subState, AssemblyManifest deployManifest, AssemblyManifest appManifest, Uri sourceUriBase, String targetDirectory, String group, IDownloadNotification notification, DownloadOptions options) 在 System.Deployment.Application.DeploymentManager.SynchronizeCore(Boolean blocking) 在 System.Deployment.Application.DeploymentManager.SynchronizeAsyncWorker() 组件存储事务详细信息 无事务信息可用。
解决方案
清理并重建项目
右键项目选择「清理」,完成后再选择「重新生成」;也可以手动删除项目目录下的bin/Debug和obj/Debug文件夹,然后重新生成项目,确保旧的编译文件被完全清除。禁用增量生成
右键项目 → 属性 → 生成,取消勾选「启用增量生成」选项,然后重新生成项目。增量生成可能导致清单文件与实际编译文件不同步。重新生成应用程序清单
右键项目 → 属性 → 发布,点击「应用程序文件」按钮,确认所有文件状态正常后关闭;或者手动删除项目中的.manifest文件,重新生成项目时VS会自动创建正确的清单文件。检查签名设置
右键项目 → 属性 → 签名,确认「为ClickOnce清单签名」的配置是否正确。如果使用测试证书,尝试重新生成证书;测试阶段可以暂时关闭签名功能(仅用于排查问题)。验证IE模式配置
确认Edge浏览器的IE模式已正确启用,并将XBAP文件所在的本地路径添加到IE模式站点列表;同时检查IE的Internet选项中,本地Intranet区域的安全级别设置为允许运行XBAP应用程序。
内容的提问来源于stack exchange,提问作者NajiMakhoul
相关产品推荐
相关产品推荐

