【发布时间】:2010-11-29 20:57:38
【问题描述】:
我一直在将一个小的 XML 数据文件保存到外部驱动器,没有问题。但后来我尝试使用 ApplicationData 文件夹和其他文件夹,甚至 C:\ 但没有运气。我收到类似“访问路径“C:\”被拒绝”这样的错误。
只是为了确认,文件已创建并使用当前代码正常读取到外部驱动器。我想这与安全和权限有关,但我没有发现任何有用的东西。
如果您能在这个问题上指出正确的方向,请提前致谢!
string fipData = @"F:\IL2\SIIYM\SIIYM Data.xml"; // external drive ok :-)
//string fipData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
//string fipData = @"C:\";
// if the XML data file doesn't exist, create it
bool dataFileExists = File.Exists(fipData);
if (dataFileExists)
{
// read the XML values
XDocument xData = XDocument.Load(fipData);
//...
}
else
{
// create & save the XML data file
XElement xLastPath = new XElement(el_lastPath, "");
XElement xLastCode = new XElement(el_lastCode, "");
XElement xRoot = new XElement(el_root);
xRoot.Add(xLastPath);
xRoot.Add(xLastCode);
XDocument newDataFile = new XDocument();
newDataFile.Add(xRoot);
try
{
newDataFile.Save(fipData);
}
catch (Exception ex)
{
MessageBox.Show("Data file unable to be created. System message:{0}".Put(Environment.NewLine + Environment.NewLine + ex.Message));
}
}
【问题讨论】:
-
嗯...我不知道为什么,但是今天早上醒来时,它适用于 ApplicationData。很高兴知道为什么。从 Debug 更改为 Release 构建时我遇到了一些问题。我只能假设它与此有关。谢谢大家的想法!
-
示例代码中注释掉的“fipData”声明实际上并没有指定文件名 - 只是路径。是不是打错字了?
-
腮红马特,这可能是原因。漫长的一天,脑筋急转弯。谢谢大家的想法!
标签: c# .net permissions file-permissions