Zapisuję mały plik danych XML na dysku zewnętrznym, brak problemów. Ale potem próbowałem użyć folderu ApplicationData i innych, nawet C: \, ale bez powodzenia. Otrzymuję komunikat o błędzie "Dostęp do ścieżki" C: \ "zabroniony"."Dostęp do ścieżki ... jest zabroniony" (.NET C#)
Aby potwierdzić, plik zostanie utworzony i będzie odczytywany poprawnie z bieżącym kodem na dysk zewnętrzny. Sądzę, że ma to coś wspólnego z uprawnieniami bezpieczeństwa, ale nie znalazłem niczego zbyt użytecznego.
Z góry dziękuję, jeśli możesz wskazać mi właściwy kierunek!
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));
}
}
Umm ... Nie wiem dlaczego, ale budząc się rano, to działa dla ApplicationData. Byłoby miło wiedzieć dlaczego. Miałem problem z przejściem z wersji Debug do wersji Release. Mogę tylko założyć, że było z tym związane. Dziękuję wszystkim za twoje myśli! – MrGreggles
Skomentowane deklaracje "fipData" w przykładowym kodzie w rzeczywistości nie określają nazwy pliku - tylko ścieżki. Czy to literówka? –
Blush Matt, to mogło być przyczyną. Długi dzień, mózg zap. Dzięki chłopaki za wasze pomysły! – MrGreggles