Zu diesem Zweck verwende ich Folgendes:
Code: Select all
string AppDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
Als ich versuchte, das zu debuggen Problem, ich habe Folgendes im Protokoll gefunden:
System.IO.DirectoryNotFoundException: Konnte einen Teil des Pfads „C:\Programme“ nicht finden (x86)\CompanyName\App\X\Y\Z\settings.config'.
Wo:
X\Y\Z\settings.config
sollte Teil von C:\ProgramData sein, aber irgendwie Die Anwendung gibt den Ordner zurück, in dem die App installiert ist (Programme). Ich habe versucht, dies auf mehreren Maschinen und Umgebungen zu replizieren, aber ohne Erfolg.
Meine Fragen:
Ist das möglich? ändern
Code: Select all
Environment.SpecialFolder.CommonApplicationData
Ich weiß nicht, warum die App in diesem einen Fall einen anderen Ordner als C:\ProgramData zurückgibt.
Wenn es möglich ist, wo ich den Wert von Environment.SpecialFolder.CommonApplicationData überprüfen kann, außer programmgesteuert?
Irgendwelche Ratschläge oder Lösungen?
Ich kann immer ein paar Überprüfungen durchführen und versuchen, es zu sehen Wenn der Pfad falsch ist, korrigieren Sie ihn manuell, aber das hört sich nicht gut an!
Ich habe immer gedacht, dass die Verwendung von Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) gibt mir unabhängig von der Betriebssystemversion den richtigen Ordner.
Ich habe versucht, die App mit vollständigen Administratorrechten auszuführen (plus als Administrator auszuführen), das Problem ist das gleiche. Die Anwendung erhält einen falschen Pfad von Environment.SpecialFolder.CommonApplicationData.
Vielen Dank im Voraus!