从Visual Studio发布至AWS时出现部署包缺失错误求助
我之前也碰到过类似的VS部署AWS的包缺失问题,结合排查经验给你几个可行的解决步骤,先把你遇到的错误日志贴出来方便参考:
正在生成部署包'C:\Users\Leon\AppData\Local\Temp\AWSDeploymentArchive_v20190509101556.zip'……
调用'C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe -verb:sync -source:manifest="C:\Users\Leon\AppData\Local\Temp\tmp2223.tmp" (...)……
错误:找不到包'C:\Users\Leon\AppData\Local\Temp\AWSDeploymentArchive_v20190509101556.zip'……
生成失败,无法找到预期的部署包……
项目归档生成失败,终止部署。
尝试手动创建该文件夹,虽能生成包但结果为空文件夹。
可能的原因&修复步骤:
检查临时文件夹权限
系统临时文件夹(C:\Users\Leon\AppData\Local\Temp)的权限不足是最常见的原因。右键这个文件夹选「属性」→「安全」,确认当前登录用户拥有写入/修改权限,如果没有的话,添加当前用户并赋予对应权限,之后重启VS再试部署。清理缓存并重启相关进程
- 先关掉Visual Studio,打开任务管理器把所有
devenv.exe(VS进程)和msdeploy.exe(Web Deploy进程)都结束掉 - 删掉
Temp文件夹下所有带AWSDeploymentArchive_前缀的文件和文件夹,避免缓存冲突 - 打开VS的「工具」→「选项」→「项目和解决方案」→「生成并运行」,勾选「在生成前清理输出目录」,保存设置后重新打开项目
- 先关掉Visual Studio,打开任务管理器把所有
修复Web Deploy工具
有时候Web Deploy的配置会出问题,导致生成包的过程异常:- 打开「控制面板」→「程序和功能」,找到
Microsoft Web Deploy 3.6(或你装的对应版本),右键选「更改」→「修复」 - 修复完成后,用管理员权限打开命令提示符,执行这条命令验证Web Deploy是否正常:
如果能正常返回IIS站点的配置信息,说明Web Deploy没问题了。"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:dump -source:apphostconfig
- 打开「控制面板」→「程序和功能」,找到
更换部署包的存储路径
如果系统临时文件夹一直出问题,换个自定义路径试试:- 在VS里打开项目的「属性」→「AWS部署」(不同版本的VS可能位置略有不同,找部署相关的设置页)
- 找到「部署包位置」,把默认的临时路径改成一个你自己新建的文件夹,比如
D:\AWSDeployTemp - 给这个新文件夹赋予当前用户完全控制权限,再尝试部署
内容的提问来源于stack exchange,提问作者LLeon

