Visual Studio 2017 WPF安装项目命令行编译报错HRESULT '8000000A'求助
你在通过devenv命令行构建VS2017安装项目时碰到的这个预构建验证失败问题,我之前也遇到过类似情况,这个HRESULT错误大多和安装项目的配置、构建环境权限或者缓存有关,给你整理了几个实用的排查方向:
修正构建平台参数
安装项目(Setup Project)并不支持Any CPU平台,它只能适配x86或x64架构。你需要把命令里的Release|Any CPU改成对应架构,比如Release|x86,同时要确保安装项目的配置里目标平台和这个参数完全一致。以管理员权限运行命令行
预构建验证阶段有时候需要访问系统级资源,普通权限可能会触发权限不足的隐性错误。右键点击命令提示符,选择“以管理员身份运行”,再重新执行构建命令试试。清理构建缓存和临时文件
旧的构建缓存很容易导致验证逻辑出错,你可以手动删除安装项目的obj和bin目录,同时清理VS生成的临时文件(路径一般是%TEMP%下和Visual Studio相关的文件夹),之后再重新触发构建。检查安装项目的文件引用
确认安装项目里引用的所有文件(比如WPF主程序的输出文件)路径都正确,没有引用不存在的文件,也不要包含特殊字符。可以打开安装项目的“文件系统”视图,逐一检查所有引用项的有效性。尝试改用MSBuild命令构建
相比devenv,MSBuild对安装项目的命令行构建支持有时候更稳定。你可以试试这个命令格式(注意替换成你实际的MSBuild路径和平台):"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe" D:\Projects\Pos.sln /t:Rebuild /p:Configuration=Release;Platform=x86修复VS2017安装组件
如果以上方法都没效果,可能是VS的安装组件有损坏。打开VS Installer,选择“修改”,确认“Visual Studio Installer Projects”组件已安装,必要时可以选择“修复”整个VS安装。
希望这些方法能帮你解决问题!
内容的提问来源于stack exchange,提问作者Karun

