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

拉取上游提交后运行C#解决方案出现System.ArgumentException运行时错误

解决C#运行时"路径必须为绝对路径"错误

1. 定位报错代码

  • 查看错误调用栈,找到触发System.ArgumentException的具体方法(比如Directory.EnumerateFiles、Path.GetFullPath这类要求绝对路径的API),确认哪个地方传入了名为root的参数。
  • 追踪该参数的来源:是硬编码的相对路径?还是从配置文件、环境变量读取的路径?

2. 修复路径处理逻辑

  • 如果是硬编码的相对路径,直接转为绝对路径,或者用Path.GetFullPath()做转换:
    // 错误示例:使用相对路径
    var root = "./data";
    // 正确示例:转换为绝对路径
    var root = Path.GetFullPath("./data");
    
  • 如果路径来自配置,读取后立即做绝对路径转换,避免配置里的相对路径引发问题:
    var configPath = Configuration["DataRoot"];
    var root = Path.GetFullPath(configPath);
    

3. 检查上游提交的变更

  • 通过Git提交记录,排查上游提交是否修改了路径相关代码:
    • 对比变更前后的代码,确认是否新增了相对路径的使用,且未做绝对路径转换
    • 查看提交说明,确认是否有路径逻辑的调整

4. 验证运行环境的工作目录

  • 程序运行的工作目录可能和预期不符,导致相对路径解析错误,可在报错代码前输出当前目录确认:
    Console.WriteLine($"当前工作目录:{Directory.GetCurrentDirectory()}");
    
  • 如果工作目录不符合预期,可在程序启动时设置正确的基准目录:
    Directory.SetCurrentDirectory(AppContext.BaseDirectory);
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 02:40:38