Ich versuche, auf die Dokumente Verzeichnis und Unterverzeichnisse zuzugreifen, aber jedes Mal sagt Zugriff verweigert. Ich sehe die Ausnahme:Zugriff auf das Verzeichnis verweigert in C# - Konsolenanwendung
System.UnauthorizedAccessException: Zugriff auf den Pfad 'C: \ Benutzer \ MyUser \ Dokumente \ Eigene Musik' verweigert
Hier ist mein Code - alles, was ich bin versucht zu do ist die Gesamtgröße dieses Verzeichnisses.
class Program
{
static void Main(string[] args)
{
try {
// Make a reference to a directory.
string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
DirectoryInfo di = new DirectoryInfo(path);
// Get a reference to each file in that directory.
FileInfo[] fiArr = di.GetFiles(".", SearchOption.AllDirectories);
// Display the names and sizes of the files.
Console.WriteLine("The directory {0} contains the following files:", di.Name);
long size = 0;
foreach (FileInfo f in fiArr)
{
size += f.Length;
size++;
}
Console.WriteLine("The size of desktop files." + size);
}
catch(Exception e)
{
Console.WriteLine("Exceptions {0}" , e);
}
}
}
Sind Sie mit dieser Anwendung aus einer Netzwerklaufwerk? Wenn ja, versuchen Sie, es auf den Desktop zu kopieren, um zu sehen, ob sich das Verhalten ändert. – Cameron
Wenn Sie es nicht sehen, dann wollen Sie es auch nicht mit Ihrem Code sehen. Dies ist ein * fester Link *, kein Verzeichnis. Verwenden Sie DirectoryInfo.Attributes, halten Sie sich von allem fern, das über das System- oder das ReparsePoint-Attribut verfügt. Drachen leben dort. –
Verwenden Sie diesen speziellen Ordner möglicherweise nicht die beste Option für Sie hier. Schauen Sie sich diese Frage an, http://stackoverflow.com/questions/14560884/windows-user-profile-path-folders – Nikki9696