2017-09-01 1 views
0

Ich habe eine .NET-Anwendung, die ihre Verbindungszeichenfolgen in der Anwendungskonfigurationsdatei speichert. Ich aktualisierte die Verbindungszeichenfolge und versuchte, eine neue Version bereitzustellen, aber egal, was ich versuche, es scheint immer noch die alten Informationen von irgendwo zu lesen. Ich habe versucht, den Programmdateiordner und die Benutzerkonfiguration zu löschen. Woher erhält es noch die alten Konfigurationsinformationen?Woher bezieht meine Anwendung ihre veralteten Konfigurationsinformationen?

Antwort

0

Ohne es zu wissen, speicherte Windows 10 die Konfigurationsdatei meiner Anwendung in C:\Users\myuser\appdata\local\VirtualStore\Program Files (x86)\My Company\MyProgram\MyProgram.exe.config. Der Schlüssel ist der Ordner VirtualStore. Da diese Anwendung vor einiger Zeit geschrieben wurde, versucht sie, in Programmdateien in die Anwendungskonfigurationsdatei zu schreiben. Ab Windows Vista konnten Sie dies nicht mehr tun. Scheinbar in Windows 10 versucht Windows, hilfreich zu sein, und lässt Sie das tatsächlich tun, indem Sie den Aufruf des obigen Ordners virtualisieren.

Wenn Ihre Konfigurationsdatei funky erscheint, können Sie den obigen Ordner überprüfen.

+1

Diese Technik wird als "Dateisystemvirtualisierung" bezeichnet und ist seit Windows Vista vorhanden. Sein Zweck ist genau zu allos schlecht geschriebenen Programmen, um weiter zu arbeiten, selbst wenn sie versuchen, an Orte zu schreiben, wo sie nicht sollten. Die wirkliche Lösung besteht darin, das Programm stattdessen in das Benutzerprofil schreiben zu lassen. – Alejandro

Verwandte Themen