每次都遇到System.UnauthorizedAccessException。我以管理员身份运行它。但是它仍然给错误...代码:
XmlDocument doc = new XmlDocument();
string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Test\\" + textBox1.Text;
doc.Load(path); //Getting error
谢谢。
System.UnauthorizedAccessException:拒绝访问路径'C:\ Users \ x \ Documents \ Test \ Hello'。
答案 0 :(得分:2)
首先
使用Path.Combine(String, String)
将两个字符串组合到一个路径中。
示例
var myDocs = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var dir = Path.Combine(myDocs,"Test");
var fileName =Path.Combine(dir, textBox1.Text);
Debug.WriteLine(fileName);
doc.Load(fileName)
第二
查看文档
UnauthorizedAccessException
文件名指定的文件是 只读。
仔细检查您的path
看起来像文件名。如果它是没有扩展名的文件(并且确实存在),请确保其不是只读的
System.UnauthorizedAccessException:拒绝访问路径
' C:\ Users \ x \ Documents \ Test \ Hello '。
如果您纠正自己可能会获胜