2009-06-08 10 views
0

Ich verwende NLog zum ersten Mal auf einem Projekt. Ich möchte mich in eine Datei einloggen, also habe ich eine Zielbeschreibung zu fileName = "$ {basedir}/logs/$ {shortdate} .log" hinzugefügt. Dies erstellt/hängt Protokollinformationen an eine Datei in MyApplicationFolder/Logs/2009-06-08.log an.
Die Protokollierung funktioniert auf einem Windows XP-Computer im Debug-Modus und bei der Bereitstellung mit meinem MSI-Installationsprogramm einwandfrei.
Wenn ich jedoch auf einem Vista-Computer bereitstellen, wird nichts in der Datei protokolliert. Ich habe versucht, ein MessageBox-Ziel hinzuzufügen, nur um zu überprüfen, ob die Vista-Bereitstellung mit der NLog-DLL überhaupt kommuniziert hat oder ob es Probleme mit der Konfigurationsdatei gab - und das funktioniert, also nehme ich an, dass dies speziell mit dem Erstellen eines Ordners getan werden muss und/oder Erstellen/Schreiben einer Datei in C:/Program Files (x86).
Kann mir jemand helfen zu sehen, was ich nicht richtig mache?NLog schreibt nicht in Datei auf Vista-Bereitstellung

Antwort

1

Vista verwendet Files System Virtualisation, um einige Ordner zu schützen. So wurden Ihre Logs geschrieben, aber still in einen anderen Ordner.

+0

Danke, das tut es. Zusammenfassend wird die Protokolldatei geschrieben, aber anstatt nach C:/Programme (x86)/MyApplicationFolder/zu gehen, geht sie in Vista zu C:/Benutzer/JohnDoe/AppData/Local/VirtualStore/Programmdateien (x86))/ etc... – Mathias