Visual Studio编译EXE无法立即运行,需等待1小时求解决方案
问题描述
使用Visual Studio Professional 2022编译C#项目时,生成的EXE文件偶尔会出现**"访问拒绝"无法运行**的情况,且存在以下特征:
- 在家能正常运行的EXE,到办公室环境无法运行;新编译的EXE直接无法运行
- 用
COMP工具对比新旧EXE时,新EXE提示"无法读取"(COMP仅做字节对比,未执行文件,排除杀毒软件拦截) - 查看文件属性(含安全选项卡及高级设置,已用本地管理员权限),新旧EXE无权限差异
- 可正常复制问题EXE,但复制后的文件仍无法运行,依旧提示"无法读取"(文件可被读取用于复制、查看属性,但无法被COMP读取或运行)
- 关闭Visual Studio及解决方案后,问题依旧存在
- 问题EXE的"无法读取"状态会在数小时后自动恢复正常(发帖1小时后即可正常读取运行)
快速解决方法
- 强制释放文件句柄:打开资源监视器,搜索该EXE文件名,找到占用它的进程并结束。步骤:打开任务管理器→切换到"性能"选项卡→点击底部"打开资源监视器"→在"关联的句柄"搜索框输入EXE文件名→右键选中的句柄选择"结束进程"
- 更改输出目录编译:临时修改项目的输出路径(比如从默认的
bin\Debug改成bin\Debug_Temp),重新编译后运行新生成的EXE - 手动刷新文件系统:打开命令提示符进入EXE所在目录,执行
dir命令刷新缓存,或多次右键文件夹选择"刷新",再尝试运行 - 以管理员身份运行EXE:右键EXE文件,选择"以管理员身份运行",跳过临时权限校验问题
- 清理编译缓存:在Visual Studio中点击"生成"→"清理解决方案",之后重新生成项目,避免缓存异常
内容的提问来源于stack exchange,提问作者Roland Kwee
相关产品推荐
相关产品推荐

