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

如何在appsettings.Development.json中用Windows环境变量指向OneDrive路径?

解决方法

问题出在.NET配置系统默认不会自动解析配置字符串中的Windows环境变量占位符(比如%OneDrive%),你读取到的documentPath是原封不动的%OneDrive%\\project123\\keys\\,而非实际的OneDrive路径,导致拼接后的文件路径无效。

修复步骤:

  • 在读取配置后,用Environment.ExpandEnvironmentVariables方法解析环境变量占位符:
    internal XDocument ReturnFileContent(string filename)
    {
        string rawPath = _configuration["AppSettings:AccessKeys"];
        // 解析环境变量
        string documentPath = Environment.ExpandEnvironmentVariables(rawPath);
        string xmlFilePath = Path.Combine(documentPath, filename);
    
        var aux = File.Exists(xmlFilePath); // 现在应该能正确判断
    
        //...
    }
    
  • 验证解析后的路径:可以临时添加输出代码确认路径是否正确,比如:
    Console.WriteLine($"解析后的路径:{documentPath}");
    
  • 额外检查:
    • 打开命令提示符输入echo %OneDrive%,确认该环境变量存在并指向正确的OneDrive目录
    • 确保程序对%OneDrive%\\project123\\keys\\文件夹有读取权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 16:22:42