You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行C#控制台程序时触发Access denied异常,寻求解决办法

.NET启动外部EXE遇Access Denied问题排查方案
  • 检查目标EXE本身权限
    别只看目录权限,右键目标EXE→属性→安全,确认当前用户、管理员组拥有读取&执行、读取权限,必要时添加完全控制权限。如果EXE在Program Files这类系统保护目录,建议先复制到非系统目录(比如D盘自定义文件夹)再测试,避免UAC限制。

  • 核对进程启动代码
    确保代码里的EXE路径正确,优先用绝对路径替代相对路径,避免路径解析错误。比如:

    var startInfo = new ProcessStartInfo(@"D:\Test\TargetApp.exe")
    {
        WorkingDirectory = @"你的项目根目录绝对路径"
    };
    Process.Start(startInfo);
    

    同时检查是否误把目录路径当成EXE路径,或者漏写了.exe后缀。

  • 排查安全软件拦截
    暂时关闭杀毒软件、防火墙或第三方安全工具,这类软件常拦截未签名的自制EXE。如果关闭后能正常启动,把目标EXE或项目目录加入安全软件白名单即可。

  • 检查UAC与权限继承
    右键EXE→属性→兼容性,取消勾选“以管理员身份运行此程序”,避免权限冲突;再检查项目根目录权限的继承性:右键目录→属性→安全→高级,点击“启用继承”重新应用权限。

  • 手动验证EXE可执行性
    打开命令提示符,直接输入目标EXE的绝对路径运行,如果同样报Access Denied,说明问题出在EXE本身或系统环境,和.NET代码无关;如果能正常运行,再回到代码排查路径或参数问题。

内容的提问来源于stack exchange,提问作者RobG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 12:22:33