"找不到路径的一部分"C:\ Users\username\abc\abc.exe.config

Ram*_*mya -3 c# streamreader filepath

configFilePath = @"C:\ Users \"+ userName + @"\ abc\abc.exe.config";
if(File.Exists(configFilePath))
{
StreamReader fileReader = new StreamReader(configFilePath);
}

上面的行抛出"找不到路径的一部分"异常.在特定计算机中发生此错误.在所有其他机器中它工作正常.即使在那台机器中,相同的代码也可以使用.机器没有变化.我已经阅读了讨论过这个问题的所有论坛.但无法弄清楚为什么这种情况会在单独的机器中发生,现在也是如此.有权访问文件夹和文件.

akt*_*ton 5

首先,使用Path.Combine()而不是路径的字符串连接.但是,用户名可能包含路径中无效的字符,例如单引号,因此它可能已被转义.假设"C:\ Users"是用户的目录而不是您自己的文件夹结构,更好的解决方案是使用带有SpecialFolders枚举值的Environment.GetFolderPath()方法查找该用户的用户配置文件文件夹.UserProfile