Wie kann ich eine Datei zu entsperren, die von einem Prozess in .NET gesperrt ist [Duplicate]

StackOverflow https://stackoverflow.com/questions/242882

Frage

    

Diese Frage bereits eine Antwort hier:

    
            
  •              Entsperren Dateien zum Löschen                                      2 Antworten                          
  •     
    

Ich möchte meine Anwendung alle temporären Dateien zu reinigen verwendet, das Problem ist, dass nicht alle temporären Dateien unter meiner Kontrolle sind, so will ich nur „brutal“, um sie in Ordnung entsperren sie programmatisch zu löschen.

War es hilfreich?

Lösung

Hier finden Sie aktuelle this Artikel. Ich denke, dass Sie kämpfen diese nativ in C # zu tun, auch Interop, verwendet aber eine C ++ / CLI Wrapperassembly Schreiben kann ein guter Kompromiss sein. Beachten Sie auch, dass der Benutzer das SE_DEBUG Privileg haben muss, damit dies funktioniert.

Andere Tipps

Ich habe auch mit diesem gekämpft, und am Ende nur auf Kommandozeilen-Implementierung Unlocker Beschuss aus. In meinem Fall hat es viele Male täglich und endet Entriegeln Tausende von Dateien pro Tag ohne Probleme.

läuft

Sicher Ihre Anwendung will, um die temporären Dateien zu bereinigen, es besitzt, dann haben Sie die volle Kontrolle, diese Dateien zu entsperren und löschen Sie sie!

Wenn Sie wollen alle temporären Dateien löschen, ob von der Anwendung im Eigentum oder auf andere Weise, sollten Sie sehr vorsichtig sein. Die ursprüngliche Anwendung angewandt wahrscheinlich die Sperre, weil er will, um die Datei verwenden!

Wenn Sie wirklich brauchen, man konnte immer eine Befehlszeilenanwendung laichen anstatt zu versuchen, die Funktionalität der bestehenden Instrumente zu replizieren, die in C # schwierig sein wird.

Sehen Sie sich diese auf den MSDN-Foren fädeln. Es gibt genug Informationen zu tun, was Sie wollen, aber es ist nicht zu empfehlen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top