Ich habe den folgenden Beispielcode.Creating Directory aktualisiert die Exists-Eigenschaft nicht auf True
private DirectoryInfo PathDirectoryInfo
{
get
{
if (_directoryInfo == null)
{
// Some logic to create the path
// var path = ...
_directoryInfo = new DirectoryInfo(path);
}
return _directoryInfo;
}
}
public voide SaveFile(string filename)
{
if (!PathDirectoryInfo.Exists)
{
PathDirectoryInfo.Create();
}
// PathDirectoryInfo.Exists returns false despite the folder has been created.
bool folderCreated = PathDirectoryInfo.Exists; // folderCreated == false
// Save the file
// ...
}
Nach MSDN:
Exists Eigenschaft: true, wenn die Datei oder das Verzeichnis vorhanden ist; sonst falsch.
Warum Exists gibt false zurück, nachdem das Verzeichnis erstellt wurde? Fehle ich etwas?
Vielleicht ein Berechtigungsproblem? Das 'PathDirectoryInfo.Exists' wird' false' zurückgeben, wenn ein Fehler auftritt, während versucht wird, den Dateipfad zu bestimmen. – Hypnobrew
Versuchen Sie 'Refresh' auf der' DirectoryInfo' zu nennen. – jmcilhinney