configFilePath = @“C:\ Users \”+ userName + @“\ abc \ abc.exe.config”;
如果(File.Exists(configFilePath))
{
StreamReader fileReader = new StreamReader(configFilePath);
}
以上行抛出“无法找到部分路径”异常。在特定计算机中发生此错误。在所有其他机器中它工作正常。即使在那台机器中,相同的代码也可以使用。机器没有变化。我已经阅读了讨论过这个问题的所有论坛。但是无法弄清楚为什么会在这台机器中发生这种现象,现在也是如此。有权访问文件夹和文件。
答案 0 :(得分:5)
首先,对路径使用Path.Combine()而不是字符串连接。但是,用户名可能包含路径中无效的字符,例如单引号,因此它可能已被转义。假设“C:\ Users”是用户的目录而不是您自己的文件夹结构,更好的解决方案是使用Environment.GetFolderPath()方法查找该用户的用户配置文件文件夹,其中UserProfile
值来自SpecialFolders枚举。
答案 1 :(得分:0)
要考虑的是文件/文件夹的权限。我遇到了一些问题,因为Windows更新,文件夹安全性突然变得严重。