it-swarm.com.de

Der angeforderte Vorgang kann nicht für eine Datei ausgeführt werden, bei der ein Abschnitt mit einem Benutzer zugeordnet ist

Immer wenn ich versucht habe, 4 Dateien in meinen bin-Ordner zu kopieren, erhalte ich nach dem Stoppen des Hauptdienstes eine Fehlermeldung mit einer Datei (TexteDll). Der Fehler ist:

Cannot copy TexteDll: The requested operation cannot be performed on a file 
with a user-mapped section open

Möglicherweise liegt eine Systemverriegelung vor. Oder vielleicht verwendet ein anderer Prozess diese DLL. Wenn ich gegoogelt habe, habe ich festgestellt, dass ein Neustart des Systems dies möglicherweise beheben kann.

Kann jemand eine Ursache oder Lösung dafür vorschlagen? Ich habe die Eigenschaften von TexteDll (Allgemein, Version, Sicherheit usw.) überprüft. Alles scheint normal zu sein.

177
peter

In meinem Fall sperrte der Explorer die im Debug-Ordner kompilierte DLL. Merkwürdig, nicht wahr?

Ich habe es mit einem Tool namens Unlocker herausgefunden.

Musste mit Unlocker löschen, auch wenn gesagt wurde, dass die Datei nicht gesperrt ist, und ich den Ordner erst löschen kann, wenn ich die einzelne Datei nicht gelöscht habe ...

Danach wurde es kompiliert.

BEARBEITEN:

Ich habe herausgefunden, warum dies in meinem Fall passiert ist. Ich hatte die DLL in einem Texteditor in Visual Studio geöffnet ...

167
Daniel Lobo
  • Manchmal, wenn Sie auf eine Warnung bezüglich der referenzierten Assemblyversionskonflikte zwischen zwei oder mehr Projekten doppelklicken, vergessen Sie, Das Assembly-Ansichtsfenster zu schließen, und es bleibt dort unter anderen Registerkarten ... damit Sie am Ende enden mit der Versammlung, die von VS selbst gesperrt wurde, und ich habe ziemlich viel Zeit gebraucht, um das herauszufinden :)

    Seien Sie vorsichtig mit der Leistung, die VS bietet;)

  • Ein weiteres Dummy-Szenario. Manchmal löschen Sie einfach den gesamten Ordner obj Oder nur die Datei, die gewarnt wird, da der gesperrte Ordner mit diesem Crappy-Fehler aushilft.
68

schließen Sie alle Dokumente in VS und versuchen Sie es erneut. Wenn es nicht funktioniert, starten Sie VS neu. Dieses Problem hängt mit dem Sperren von DLL -Dateien zusammen. 

31
cihata87

Schließen Sie Visual Studio, löschen Sie die Bin, löschen Sie den Release-Ordner, und starten Sie das Visual Studio-Projekt erneut. Dies behebt mein Problem

10
user2038221

Ich hatte dasselbe Problem und in meinem Fall schien es, dass die vorhandene Ausgabedatei von einer anderen Anwendung gesperrt wurde.

Sie können mit OpenedFilesView überprüfen, welche Anwendung Ihre Ausgabedatei sperrt: http://www.nirsoft.net/utils/opened_files_view.html

10
bozydar.sz

Ich bin ein Entwickler und mag keine Apps, die in die Registry injiziert werden, wie Unlocker . Ich habe SysInternals Process Explorer verwendet, der Prozess hat meine DLL Find > Find Handle or Dll [Ctrl-F] gesperrt und den Prozess beendet.

8
guneysus

Andere haben bereits festgestellt, dass dieser Fehler darauf zurückzuführen ist, dass eine andere Anwendung die Datei gesperrt hat. Ich wollte nur darauf hinweisen, dass git diff auch Dateien sperrt, bis Sie das Programm verlassen. Das hat in meinem Fall dazu geführt.

7
andrew.cuthbert

In meinem Fall musste ich einen hängenden MSBuild.exe-Prozess beenden, der die Datei sperrte (sie war auch dort, nachdem ich Visual Studio geschlossen hatte).

6
t3chb0t

Führen Sie eine Antivirensoftware aus. Es ist möglich, dass die AV-Software (oder eine andere Software) die Datei mit den File-Mapping-APIs gelesen hat, die das Problem verursacht haben.

5
Eoin Campbell

Ich hatte das gleiche Problem. Neustart hat bei mir nicht funktioniert. Im Task-Manager wurde ein Prozess mit dem Namen VBSCompiler ausgeführt. Ich musste den Prozess beenden, um diesen Fehler zu beheben.

3
Nirjhar Vermani

Die Lösung für mich war, alle Instanzen von VS zu schließen und alle hängenden devenv.exe-Prozesse zu beenden.

2
user2338408

Keine der hier veröffentlichten Lösungen funktionierte für mich. Devenv.exe (Visual Studio) sperrte die Datei, aber wenn ich sie neu starte, würde sie sie erneut sperren.

Seltsamerweise erlaubte Windows mir nicht, die Dateien zu löschen (in den Papierkorb), aber Shift + Delete (dauerhaftes Löschen) funktionierte.

2
makhdumi

Ich hatte das gleiche Problem. Wie ich es gelöst habe war:

  1. "Task-Manager" öffnen 
  2. Task "Explorer.exe" beenden
  3. Klicken Sie auf "Datei" -> Neue Aufgabe erstellen - Geben Sie "Explorer.exe" ein -> OK
  4. Reinige mein Projekt und es funktioniert
2
user10991945

Das Löschen des OBJ-Ordners und der Neuaufbau funktionierten für mich

2
colmde

Schließen Sie das Visual Studio und führen Sie es als Administrator aus. Es ist mein Problem behoben.

2
Sanjay Ghinaiya

Ich habe diese Fehler beim Erstellen von Dot Net-Anwendungen mit Ant gesehen.

In meinem Fall war dies die Sicherungssoftware für Unternehmen, der Symantec DLO Agent. Das Anhalten und Ausschließen des Verzeichnisses in meiner Antivirensoftware und das Schließen von Visual Studio scheint zu funktionieren.

1
Robert Bratton

Die Lösung für mich war, den Computer neu zu starten.

1
ML13

in meinem Fall löschte ich den obj-Ordner im Projektstamm und löste das Projekt neu auf, um mein Problem zu lösen !!!

1
Ali Rasouli

Es wurde darauf hingewiesen im Jahr 2016 von Andrew Cuthbert , dass Git Diff auch Dateien sperrt, bis Sie es beenden.

Dies ist bei Git 2.23 (Q3 2019) nicht der Fall.

Siehe commit 3aef54e (11. Juli 2019) von Johannes Schindelin (dscho) .
(Zusammengeführt von Junio ​​C Hamano - gitster - in Commit d9beb46 , 25. Juli 2019)

diff: munmap() Dateiinhalt vor dem Ausführen von external diff

Wenn Sie ein externes Diff ausführen, beispielsweise von einem diff tool, können Sie davon ausgehen, dass wir die fraglichen Dateien schreiben möchten.
Unter Windows bedeutet dies, dass es keinen anderen Prozess geben kann, der ein offenes Handle für diese Dateien oder nur einen zugeordneten Bereich enthält.

Stellen wir also sicher, dass git diff selbst kein offenes Handle für die fraglichen Dateien enthält.

Tatsächlich werden wir das Dateipaar sofort freigeben, da das externe Diff die Dateien verwendet, die wir gerade geschrieben haben, sodass wir den Dateiinhalt nicht mehr im Speicher halten müssen.

Dies behebt git-for-windows # 1315

1
VonC

Ich habe heute auch denselben Fehler bekommen. Ich habe dieses Problem gelöst, indem ich das Projekt neu aufbaute.

Ich bin auf diesen Fehler gestoßen und es stellte sich heraus, dass FxCop gegen mein Projekt lief. Ich habe FxCop geschlossen und konnte dann erneut kompilieren.

0
Tim

Wenn es sich um eine Webanwendung handelt, kann das Löschen von Dateien im Ordner Temporäre ASP.NET-Dateien eine Lösung sein.

0
suphero

Wenn Sie Profiler wie AQ Time verwenden, sperren diese möglicherweise auch die Datei. Die Lösung wäre in diesem Fall, den Profiler neu zu starten oder die betreffende Baugruppe einfach aus dem Profiler zu laden/laden. . Für AQ Time habe ich festgestellt, dass die Datei nach einiger Zeit veröffentlicht wird, aber ich kann nicht sagen, was für ein Timeout das ist. Scheint zufällig zu sein

0

Ich hatte diesen Fehler, verursacht durch eine "More" -Vs-Datei, die in einer anderen Konsole ausgeführt wurde. Hoppla.

0
ade jones