it-swarm.com.de

Visual Studio "Konnte nicht kopieren" .... während der Erstellung

Ich erhalte diesen Fehler während der Erstellung meines VS2012 C # -Projekts

Error   41  Could not copy "obj\Debug\WeinGartner.WeinCad.exe" to
 "bin\Debug\WeinGartner.WeinCad.exe". 
 Exceeded retry count of 10. Failed.    


Error   42  Unable to copy file "obj\Debug\WeinGartner.WeinCad.exe" to
"bin\Debug\WeinGartner.WeinCad.exe". The process cannot access the file
'bin\Debug\WeinGartner.WeinCad.exe' because it is being used by another 
process.    

Jetzt habe ich herausgefunden, dass der Prozess beendet wird

Weingartner.WeinCad.vhost.exe

funktioniert (manchmal), aber das geht mir auf die Nerven. Wie kann man das überhaupt verhindern?

Meine Debugger-Einstellungen sind

enter image description hereenter image description here

317
bradgonesurfing

In Visual Studio 2013 sind ähnliche Fehlermeldungen aufgetreten.

Meistens habe ich festgestellt, dass diese Situation eingetreten ist, als ein Debug-Prozess aufgrund einer Ausnahme angehalten wurde.

Wenn Clean + Build dieses Problem für mich nicht gelöst hat, hatte ich Erfolg, indem ich Folgendes tat:

  • Visual Studio schließen
  • Löschen der Ordner bin und obj und
  • Visual Studio erneut öffnen.

Dieser "Bug" existiert seit Visual Studio 2003.

Schließlich habe ich auch festgestellt, dass ich dieses Problem oft überwinden kann, indem ich die ausführbare Datei einfach umbenenne und sie dann lösche.

347
Gerard

In Visual Studio Premium 2013 (Update 3) habe ich dies mit einem vorgefertigten Einzeiler gelöst:

(if exist "$(TargetDir)*old.pdb" del "$(TargetDir)*old.pdb") & (if exist "$(TargetDir)*.pdb" ren "$(TargetDir)*.pdb" *.old.pdb)

Dadurch werden alle alten PDB-Dateien ordnungsgemäß gelöscht (sofern dies möglich ist) und alle verbleibenden Dateien mit der Erweiterung .old.pdb umbenannt. Ein netter Nebeneffekt ist, dass, wenn die alte PDB noch gesperrt ist, dem Dateinamen nur ein weiteres .old-Stück hinzugefügt wird, und dass alle beim nächsten Neustart von Visual Studio und beim Erstellen eines Builds bereinigt werden.

Beispielsweise lässt Build/Debug-Sitzung 1 MyProject.pdb gesperrt.
Wenn du das nächste Mal baust:
MyProject.pdb -> MyProject.old.pdb

Dann wird die Build/Debug-Sitzung 2 gestartet und beideMyProject.pdb und MyProject.old.pdb sind immer noch gesperrt:
MyProject.old.pdb -> MyProject.old.old.pdb
MyProject.pdb -> MyProject.old.pdb

Wenn Sie Visual Studio neu starten und einen neuen Build erstellen, werden diese beiden Probleme beseitigt und der Vorgang wird wie gewohnt fortgesetzt.

105
Geoff

Dies liegt daran, dass Sie Ihre Anwendung geschlossen haben, sie jedoch weiterhin im Hintergrund ausgeführt wird.

Vorübergehende Lösung:

  • Gehen Sie zum Task-Manager (Ctrl + Alt + Esc).
  • Gehen Sie zur Registerkarte Prozesse und suchen Sie "YourProjectName.exe".
  • Aktivieren Sie "Prozesse aller Benutzer anzeigen", wenn Sie Ihren Prozess nicht finden können.
  • Beenden Verarbeiten Sie es.

Dauerhafte Lösung: Sie müssen Ihre Anwendung durch Codierung schließen. Hier ist der Code ...

System.Windows.Forms.Application.Exit();

Sie müssen diesen Code in das Abschlussereignis des Formulars in allen Formularen einfügen. Beispiel:

private void frm_menu_FormClosing(object sender, FormClosingEventArgs e)
{
    System.Windows.Forms.Application.Exit();
}
59
Rushi Daxini

die .vhost.exe ist ein Debugger-Prozess, sodass der zu debuggende Prozess anscheinend nicht ordnungsgemäß geschlossen wurde. Es besteht die Möglichkeit, dass Sie einen Fehler haben, der den Fehler am Leben erhält und den Debug-Prozess nicht ordnungsgemäß stoppt. Sie können ihn auch trennen, wenn Sie auf "Stop Debugging" klicken, anstatt den Debugger tatsächlich zu beenden.

Aber das ist das Problem - die Datei, über die Sie kopieren möchten, wird vom Betriebssystem gesperrt (dh immer noch verwendet), sodass das Kopieren verhindert wird. Stellen Sie sicher, dass die Datei frei ist und Sie kopieren können.

25
gbjbaanb

Ich habe es gelöst, indem ich IISExpress im Task-Manager getötet habe

21
pat capozzi

Sie sollten Ihr Antivirusprogramm deaktivieren (insbesondere wenn es sich um ein Avast-Programm handelt) und es erneut versuchen. Es hat mir geholfen. Das Problem ist, dass der Debugger/Builder die EXE-Datei erstellt, die von Avast als Bedrohung erkannt und daher gelöscht wurde, bevor sie von VS ausgeführt werden konnte.

20
Pitrs

Ich konnte dieses Problem beheben (VS 2010), indem ich die folgenden vorbereitenden Maßnahmen bereitgestellt habe.

if exist "$(TargetPath).locked" del "$(TargetPath).locked"

if exist "$(TargetPath)" if not exist "$(TargetPath).locked" move "$(TargetPath)" "$(TargetPath).locked"
15
Nair

Zitat:

Eine Problemumgehung besteht darin, dies in die Befehlszeileneigenschaft für das Pre-Build-Ereignis des> -Projekts einzufügen (Registerkarte "Build-Ereignisse"):

Code-Auszug

if exist "$(TargetPath).locked" del "$(TargetPath).locked"

if exist "$(TargetPath)" if not exist "$(TargetPath).locked" move "$(TargetPath)" "$(TargetPath).locked"
12
Zheng Qiang

Ausnahme

In einigen Fällen trat in Visual Studio, wenn Sie (Build || Rebuild) über running IISExpress auf, die folgende Ausnahme auf:

Kopieren nicht möglich Datei "obj\Debug\YourProjectName.dll" nach bin\YourProjectName.dll "Prozess kann nicht darauf zugreifen Datei 'bin\YourProjectName.dll' - weil es von einem anderen Prozess verwendet wird

Lösung

  1. Klicken Sie mit der rechten Maustaste auf das zu erstellende Webprojekt.
  2. Klicken Sie auf Eigenschaften.
  3. Wählen Sie auf der linken Seite die Registerkarte Build Events.
  4. Fügen Sie in der Befehlszeile von Pre-build events diese 2 Zeilen ein:
tasklist /fi "imagename eq iisexpress.exe" |find ":" > nul
if errorlevel 1 taskkill /f /im "iisexpress.exe"

Du bist gut 2 GO!

6
iTachi

Es scheint, dass durch Ändern des Assemblynamens eines Projekts das Problem behoben wird.

Also stattdessen

enter image description here

Ich ändere es so

enter image description here

Beachten Sie, dass ich es gerade von Increment and Recall in Increment_Recall geändert habe. Ich habe gerade die Leerzeichen entfernt. Es funktioniert jetzt gut für mich.

6
Cary Bondoc

Das Beenden des Prozesses w3wp.exe (IIS) löst dies häufig.
Im Allgemeinen können Sie den Prozess kennen, bei dem die Datei gesperrt ist, indem Sie zum Ordner bin navigieren und versuchen, die Datei zu löschen. Die Fehlermeldung, die angezeigt wird, wenn sie von einem anderen Prozess verwendet wird, enthält den Namen des Prozesses, der beendet werden muss.

6
Ogglas

Befolgen Sie die folgenden Schritte

  1. Öffnen Sie den Task-Manager (Strg + Alt + Löschen)
  2. Wählen Sie auf der Registerkarte Performance die Option <ProjectNameOfYours.exe> aus.
  3. Klicken Sie auf Prozess beenden.
  4. Erstellen Sie jetzt die Lösung.

Über Schritte behobener Fehler dauerhaft :)

4
Akshay Bagi

Fügen Sie im Pre-Build-Ereignis Ihres Master-Projekts taskkill/f/fi "pid gt 0"/im "YourProcess.vshost.exe" hinzu.

4
sofsntp

Ich denke, ich habe es gelöst, indem ich das Häkchen bei Break all processes when one process breaks in den Debug-Optionen entfernt habe (erster Screenshot von op -> zweite Option).
Es wurde für eine Weile gut gebaut/gelaufen, seit ich es deaktiviert habe.
Ich verwende MySql NET Connector- und DevExpress-Steuerelemente in meinem Projekt. Möglicherweise hat einer von ihnen Verbindungen, Bindungen usw. nicht ordnungsgemäß entsorgt, da diese Flagge aktiviert wurde.

EDITED: auf jeden Fall funktioniert es! Keine Fehler mehr beim 'Kopieren der Datei nicht möglich' und keine Fehler mehr beim Formulardesigner.

4

Ich hatte das gleiche Problem mit VS 2012 Version 11.0.60610.01 Update 3 unter Windows 8

Es waren keine Designerfenster geöffnet und das Projekt war eine einfache Konsolenanwendung.

Das Entfernen des auf die Datei zugreifenden vshost-Prozesses funktioniert die meiste Zeit nicht, da der Prozess nicht auf die Datei zugreift.

Die einfachste und zeitsparendste Problemumgehung besteht darin, das Projekt aus der Projektmappe zu entfernen, ein anderes Projekt in der Projektmappe zu erstellen und dann das Original wieder hinzuzufügen.

Es ist irritierend und Zeitverschwendung, aber es ist die kostengünstigste aller mir bekannten Optionen.

Hoffe das hilft...

4
Ashwin J

Mein 10 Cent Beitrag.

Ich habe dieses Problem immer noch gelegentlich bei VS 2015 Update 2.

Ich fand, dass das Wechseln des Kompilierungsziels das Problem löst.

Versuchen Sie Folgendes: Wenn Sie sich in DEBUG befinden, wechseln Sie zu RELEASE und Build und dann zurück zu DEBUG. Das Problem ist weg.

Stefano

3
Stefano.net

@ Geoffs ( https://stackoverflow.com/a/25251766/373954 ) Antwort ist gut, wirft aber Fehlercode 1 beim erneuten Kompilieren.

Folgendes hat bei mir funktioniert (2> nul 1> nul am Ende + Ausfahrt 0):

(if exist "$(TargetDir)*old.pdb" del "$(TargetDir)*old.pdb") & (if exist "$(TargetDir)*.pdb" ren "$(TargetDir)*.pdb" *.old.pdb) 2>nul 1>nul
(if exist "$(TargetDir)*old.dll" del "$(TargetDir)*old.dll") & (if exist "$(TargetDir)*.dll" ren "$(TargetDir)*.dll" *.old.dll) 2>nul 1>nul
exit 0
2
Michael Ribbons

Wenn keine der Antworten funktioniert, versuchen Sie diese einfache Überprüfung. Suchen Sie nach einer MSbuild.exe, die Ihre Projekt-EXE ausführt und enthält. Töte MSBuild.exe und du solltest einsatzbereit sein.

2
Gentleman

Ich kann keine Lösung angeben, um dies zu verhindern, aber Sie können die gesperrte Datei (Windows Explorer oder klassisches Befehlsfenster) mindestens UMBENENNEN und dann kompilieren/erstellen. Es ist kein Neustart oder Neustart von VS201x erforderlich. Mit etwas Erfahrung können Sie ein vorgefertigtes Skript hinzufügen, um alte Dateien zu löschen oder umzubenennen, falls eine Sperre vorliegt.

2
hopperpl

Wenn Sie T4-Templates debuggen sind, geschieht dies die ganze Zeit. Meine Lösung (bevor MS dies behebt) wäre nur, diesen Prozess abzubrechen:

Task-Manager -> Benutzer -> T4VSHostProcess.exe

Dieser Vorgang wird nur beim Debuggen einer T4-Vorlage ausgeführt, nicht beim Ausführen einer Vorlage.

2
Pompair
  1. Projekteigenschaften öffnen [Menü> Projekt> Eigenschaften]
  2. Wählen Sie die Registerkarte "Debug"
  3. Deaktivieren Sie "Visual Studio-Hosting aktivieren"
  4. Starten Sie das Debuggen [F5]
  5. Sie erhalten eine Sicherheitswarnung, nur "ok". Lässt die Anwendung laufen
  6. Beenden Sie das Debuggen.
  7. Aktivieren Sie die Option "Visual Studio-Hosting aktivieren" auf der Registerkarte "Debuggen".
  8. Versuchen Sie nun, das Debuggen zu starten. Es wird kein Fehler mehr angezeigt

[Arbeite für mich]

2
Novpiar Effendi

Siehe diese andere Antwort . Grundsätzlich könnten MSBuild.exe-Prozesse im Hintergrund ausgeführt werden und Ressourcendateien verbrauchen. Wenn Sie Pre- oder Post-Build-Aufgaben haben, die dazu führen, dass MSBuild über die Befehlszeile gestartet wird, fügen Sie diesem Befehl das Flag "/ nr: false" hinzu. Weitere Einzelheiten finden Sie in der vorherigen Antwort.

2
Josh Pavoncello

Ich habe einige Antworten gefunden, die mein Problem gelöst haben, ABER für den Fall, dass jemand das gleiche Problem hat wie ich.

WENN SIE EINE KONSOLE-APP LAUFEN: BEVOR SIE ANDERE MACHEN.

Stellen Sie sicher, dass Sie alle Konsolenfenster geschlossen haben, die möglicherweise aus einem früheren Build geöffnet wurden. Zum Beispiel habe ich gerade Code in einer Konsolenanwendung getestet und nicht bemerkt, dass das Konsolenfenster eines der vorherigen Male, als ich mein Programm ausgeführt habe, geöffnet war. Während dieser Sitzung, in der ich debuggte, wurde das Fenster nach hinten geschoben und ich konnte es nicht sehen. Wenn Sie nur sagen, dass dies Ihr Problem sein könnte, prüfen Sie, ob dies nicht das Problem ist.

1
Eric Bishard

Diese Frage war das erste Ergebnis bei der Suche nach dem folgenden Fehler:

Die Datei "..." konnte nicht kopiert werden, da sie nicht gefunden wurde.

beim Erstellen in Visual Studio 2013 (Update 3).

Lösung: Deinstallieren der "Productivity Power Tools" in Visual Studio 2013.

https://connect.Microsoft.com/VisualStudio/feedback/details/533411

1
despuestambien

Für mich war es das Avast-Virenschutzprogramm, mit dem Visual Studio keine Dateien schreiben, lesen oder ausführen kann. Daher musste ich den Ordner "Visual Studio 2010/2012" zur Antiviren-Ausschlussliste hinzufügen. Und gleich nach diesem Baam ... funktioniert es.

1
Alex

Stellen Sie sicher, dass Sie alle Instanzen schließen wcfSvcHost und versuchen Sie es erneut. Es hat bei mir funktioniert!

1
Ocelot

Ich arbeite an einer Mikrodienstprojektlösung, bei der zwei Projekte gleichzeitig ausgeführt werden müssen. Der Konflikt tritt auf, wenn die Anwendung lunchsettings.json: {portNo} für die beiden ausgeführten Projekte denselben Port hat

lunchsettings.json für erstes Projekt

...
"Project#1": {
  ...
  "applicationUrl": "http://localhost:5001",
  ...
}

lunchsettings.json für das zweite Projekt

...
"Project#2": {
  ...
  "applicationUrl": "http://localhost:5001",
  ...
}

m es zu beheben

lunchsettings.json für erstes Projekt

...
"Project#1": {
  ...
  "applicationUrl": "http://localhost:5001",
  ...
}

lunchsettings.json für das zweite Projekt

...
"Project#2": {
  ...
  "applicationUrl": "http://localhost:5002",
  ...
}
1
Issam

Ich habe es endlich geschafft. Warum können wir nach dem ersten Debug nicht weiter debuggen, weil die erste Debug-Exe noch läuft? Damit Sie nach dem ersten Debuggen zum Task-Manager -> Registerkarte "Prozess" -> [Ihr Projektname exe] wechseln müssen, beenden Sie den exe-Prozess.

für mich geht das :)

1
chevhfghfghfgh

Hier ist ein Skript, um dieses Problem definitiv zu beheben:

REM   This script is invoked before compiling an Assembly, and if the target file exist, it moves it to a temporary location
REM   The file-move works even if the existing Assembly file is currently locked-by/in-use-in any process.
REM   This way we can be sure that the compilation won't end up claiming the Assembly cannot be erased!

echo PreBuildEvents 
echo  $(TargetPath) is %1
echo  $(TargetFileName) is %2 
echo  $(TargetDir) is %3   
echo  $(TargetName) is %4

set dir=C:\temp\LockedAssemblies

if not exist %dir% (mkdir %dir%)

REM   delete all assemblies moved not really locked by a process
del "%dir%\*" /q

REM   Assembly file (.exe / .dll) - .pdb file and eventually .xml file (documentation) are concerned
REM   use %random% to let coexists several process that hold several versions of locked assemblies
if exist "%1"  move "%1" "%dir%\%2.locked.%random%"
if exist "%3%4.pdb" move "%3%4.pdb" "%dir%\%4.pdb.locked%random%"
if exist "%3%4.xml.locked" del "%dir%\%4.xml.locked%random%"

REM Code with Macros
REM   if exist "$(TargetPath)"  move "$(TargetPath)" "C:\temp\LockedAssemblies\$(TargetFileName).locked.%random%"
REM   if exist "$(TargetDir)$(TargetName).pdb" move "C:\temp\LockedAssemblies\$(TargetName).pdb" "$(TargetDir)$(TargetName).pdb.locked%random%"
REM   if exist "$(TargetDir)$(TargetName).xml.locked" del "C:\temp\LockedAssemblies\$(TargetName).xml.locked%random%"

REM PreBuildEvent code
REM   $(SolutionDir)\BuildProcess\PreBuildEvents.bat  "$(TargetPath)"  "$(TargetFileName)"  "$(TargetDir)"  "$(TargetName)"

REM References:
REM   http://www.hanselman.com/blog/ManagingMultipleConfigurationFileEnvironmentsWithPreBuildEvents.aspx
REM   http://stackoverflow.com/a/2738456/27194
REM   http://stackoverflow.com/a/35800302/27194

Das Skript muss von jedem VS-Projekt-Pre-Build-Ereignis aufgerufen werden.

$(SolutionDir)\BuildProcess\PreBuildEvents.bat  "$(TargetPath)"  "$(TargetFileName)"  "$(TargetDir)"  "$(TargetName)"

enter image description here

Das Beenden des vstest.executionengine.exe -Prozesses behebt dieses Problem in 90% der Fälle für mich. Wenn das nicht funktioniert, können Sie auch QTAgent32.exe beenden und anschließend die Ordner/bin und/obj für das betreffende Projekt löschen.

Das ist der nervigste Teil meines Arbeitstages. :)

1
dgundersen

Manchmal kann der DEBUG-Ordner nicht gelöscht werden. Was ich getan und gearbeitet habe, war das Umbenennen der Datei, die nicht gelöscht werden konnte. Löschen Sie also alle Ordner und die Datei, die nicht gelöscht werden können, und benennen Sie sie beispielsweise in "_old" um.

1
Allan Zeidler

Ich wusste nicht, dass mein Debugger noch angeschlossen war und versuchte, dieselbe Visual Studio-Instanz zu erstellen. Nachdem ich den Debugger gestoppt hatte, konnte ich ihn erstellen.

1
Valamas

In meinem Fall war es Resharper Unit Tests Runner (plus NUnit-Tests, hatte noch nie ein solches Problem mit MsTests). Nachdem der Prozess abgebrochen wurde, konnte der Prozess neu erstellt werden, ohne OS oder VS2013 neu zu starten

1
Uriil

In meinem Fall war es ein Berechtigungsproblem. Ich musste Visual Studio als Administrator ausführen.

1
Tonatio

@Gerards Antwort war richtig.

Wenn Clean + Build dieses Problem für mich nicht gelöst hat, hatte ich Erfolg, indem ich Folgendes tat:

Closing Visual Studio
Deleting the bin and obj folders, and
Reopening Visual Studio.

Aber ich musste ein paar zusätzliche Arbeiten in der Konsole erledigen:

> Add-Migration Initial
> Update-Database

Dann habe ich angefangen zu debuggen und es hat funktioniert.

0
iDeveloper

Dieses Problem trat in VS 2015 auf. Der Grund für meine Umgebung war die Verwendung der StyleCop-Projekteinstellung für StyleCopAdditionalAddinPaths Include = "...", um einen zusätzlichen StyleCop-Add-In-Pfad anzugeben. Die von mir verwendete Problemumgehung bestand darin, diese Projekteinstellung aus der .csproj-Datei zu entfernen und stattdessen das StyleCop-AddIn manuell zu kopieren, wenn die StyleCop.CSharp.Rules.dll vorhanden war. Keine elegante Lösung, aber ich fand, dass die Lösung die DLLs danach nie gesperrt hat.

0
nkanani

In meinem Fall (Windows 10, Visual Studio 2015):

Task-Manager -> Benutzer -> EndTask => vshost.exe

(Es wird sofort neu gestartet und Sie können neu erstellen)

0
Adi

Am schnellsten ändern Sie den Konfigurationstyp Build und kehren zur vorherigen Konfiguration zurück.

0
Ehsan Mohammadi

Beim Versuch, das primäre WinForms-Projekt (XAF) zu erstellen, sind Fehlermeldungen aufgetreten. Ich konnte die Anwendung nur einmal ausführen und musste dann den VS2015 IDE herunterfahren und neu starten, bevor eine Neuerstellung durchgeführt werden konnte. Nach einigem Durchstöbern der Eigenschaftenseiten des Projekts - auf der Eigenschaftenseite "Debuggen" wurde ein Kontrollkästchen aktiviert - Aktivieren Sie den Visual Studio-Hosting-Prozess. Ich habe die IDE deaktiviert und neu gestartet. Die Anwendung wird nun ohne die Meldung "{project} .exe kann nicht kopiert werden" erstellt.

Was ist der Zweck des Visual Studio-Hostingprozesses?

0
Tim P

Ich hatte das gleiche Problem und habe so viele verschiedene Methoden ausprobiert, von denen jedoch keine für mich funktioniert hat. Die einzige Lösung, die für mich funktioniert hat:

  1. Entfernen der READ ONLY-Eigenschaft aus dem DEBUG-Ordner meiner Lösung und

  2. Hinzufügen, um Ereignisse zu erstellen: wenn vorhanden "$ (TargetPath) .locked" del "$ (TargetPath) .locked" wenn nicht vorhanden "$ (TargetPath) .locked" wenn vorhanden "$ (TargetPath)" move "$ (TargetPath) "$ (TargetPath) .locked"

0
Adel N. Toosi

Ich erhalte dies jedes Mal, wenn ich eine Xaml-Seite in WP8 mit VS2012 bearbeite.

Ich muss entweder keine Xaml-Seite öffnen oder den Prozess XDesProc.exe mit dem Prozess-Explorer beenden.

Wenn Sie diesen Fehler erhalten, empfehle ich, den Prozess-Explorer zu verwenden, um zu sehen, was passiert (auch wenn es sich um ein anderes Problem handelt). Suchen Sie einfach den Prozess "WeinGartner.WeinCad.exe" und er sollte den Prozess anzeigen und den Zugriff auf die Datei verwalten (zumindest, wenn das Problem durch das Beenden der vhost-Datei nicht behoben wird).

0
Luke

Verwenden von DNN. Ich habe das Problem gelöst, indem ich die Datei MSBuild.Community.Tasks.Targets bearbeitet und den Bin-Pfad geändert habe:

<MSBuildDnnBinPath Condition="'$(MSBuildDnnBinPath)' == ''">$(MSBuildProjectDirectory)\bin</MSBuildDnnBinPath>
0
live-love

Dies ist mir während der Verwendung des IL Support Plugins passiert.

Wenn Sie keine IL-Datei in Ihrem Projekt haben (weil Sie beispielsweise die letzte gelöscht haben), schlägt die Erstellung wie in der Frage beschrieben fehl.

Das Entfernen der IL-Unterstützung löste das Problem

0
Regis Portalez

In meinem Fall war der Visual Studio 2105 Remote Debugger das Problem. Als ich diese Aufgabe im Task-Manager abbrach, konnte ich meine Anwendung in Visual Studio erfolgreich neu erstellen.

0
David Cader

Ich wurde verrückt, als ich versuchte herauszufinden, warum der System -Prozess ein offenes Handle für die EXE-Datei hielt, mit der ich nach dessen Beendigung eine weitere Minute lang gearbeitet habe, und es wurde derselbe Fehler wie beim OP angezeigt.

Der Grund war, dass die vorherigen Entwickler IDisposable Objekte nicht in using(){} eingeschlossen haben. Sobald sich die IDisposable -Objekte korrekt selbst zerstört haben, trat der Fehler nicht mehr auf und ich konnte sofort neu erstellen.

0
ajeh

Löschen Sie alle .cache-Dateien in Ihren Debug- oder Release-Ordnern im Bin-Ordner.

0
alwaysVBNET

Dieses Problem tritt regelmäßig auch in Visual Studio 2010 auf. Wenn Sie Visual Studio schließen, die Verzeichnisse bin und obj löschen und neu starten, wird es für einen Build behoben. Dann kehrt das Problem zurück. Ich habe jede andere Antwort in diesem Thread ausprobiert und keine hat für mich funktioniert. Das Einzige, was dieses Problem dauerhaft löst, ist, in den Projekteinstellungen "Visual Studio-Hosting-Prozess aktivieren" zu deaktivieren, zu erstellen, wieder zu aktivieren und erneut zu erstellen.

0
Drew Chapin

Ich habe es geschafft, das Problem zu umgehen, indem ich Visual Studio als Administrator ausgeführt habe.

0
Shahin

Ich bin auch darauf gestoßen. Es stellte sich heraus, dass ich mit einem Dienst getestet hatte, den ich selbst erstellt hatte und auf dem das Verzeichnis ..\bin\release eines der Projekte in meiner Lösung nicht mehr vorhanden war. Ich hatte den Dienst zum Laufen gebracht, vergesse aber, ihn anzuhalten/zu deinstallieren, bevor ich zum Testen zurückkehre. Infolgedessen hielt es an einer der DLLs fest, auf die ich verweise, und die (automatisch als Abhängigkeit) aus den Unterordnern "bin"/"release" eines Projekts in einen anderen verschoben werden musste. Durch Beenden des Dienstes wurde das Problem behoben.

0
Rob

Verbrachte ein paar Stunden damit, dies zu klären, und fand dann heraus, dass ich an einem Service arbeite - denken Sie daran, alle Services als Teil Ihrer Lösung zu stoppen!

0
Joe

Setzen Sie IIS zurück, beenden Sie Dienste, die Ihre DLL verwenden (möglicherweise Konsolenanwendung oder von Windows-Diensten gehostete App oder IIS), und versuchen Sie es dann.

Es hat bei mir funktioniert.

0
Rohit Patel

Fügen Sie dies zu den vorgefertigten hinzu:

(if exist "$(TargetDir)*old.exe" del "$(TargetDir)*old.exe") & (if exist "$(TargetDir)*.exe" ren "$(TargetDir)*.exe" *.old.exe)
0
tmighty

Mir ist klar, dass dies nur zu der ohnehin enormen Menge an Antworten auf diese Frage beiträgt, aber ich dachte, es verdient es erwähnt zu werden, dass eine Kombination der Antworten von @Stefano, @MichaelRibbons und @IvanFerrerVilla, obwohl sie nicht perfekt sind, ein anständiges Stück geliefert hat von Erfolg, wenn keiner von ihnen allein sehr erfolgreich war.

0
drlff

Überprüfen Sie den Task-Manager auf alle Prozesse, auf denen die EXE-Datei ausgeführt wird

0
Jesus Manuel

Ein weiteres Problem, aber es ist einfach und funktioniert für mich in VS 2013. Klicken Sie auf das Projekt. Im Eigenschaftenfenster sollte sich ein Eintrag mit dem Namen Projektdatei mit einem Wert befinden

(Ihr Projektname) .vbproj

Ändern Sie den Projektnamen, indem Sie beispielsweise am Ende eine -01 einfügen. Die ursprüngliche .Zip-Datei, die gesperrt wurde, ist noch vorhanden, wird jedoch nicht mehr referenziert ... sodass Ihre Arbeit fortgesetzt werden kann. Beim nächsten Neustart des Computers verschwindet diese Sperre und Sie können die fehlerhafte Datei löschen.

0
den232

Ich habe eine Komplettlösung gefunden!

Die meisten Antworten weisen Sie an, den Prozess abzubrechen, aber mit Prozess-Hacker konnte ich keine finden.

Ich habe eine relativ einfache Lösung gefunden.

  1. Wählen Sie im Formular-Designer Ihr primäres Formular aus.
  2. Klicken Sie im Eigenschaftenmenü auf die Registerkarte "Ereignisse".
  3. Doppelklicken Sie auf das Ereignis FormClosing. Dies generiert automatisch das Ereignissystem und die Funktion:

private void [your form name here]_FormClosing(object sender, FormClosingEventArgs e) </ code>

  1. Fügen Sie in dieser Funktion Application.Exit hinzu

So ähnlich:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    Application.Exit();
}
 </ code>

hilfreiches Bild

enter image description here

enter image description here

Ich hoffe das hilft! Dieses Problem ist wirklich beschissen!

Fix 2

Aktivieren Sie einen Dienst namens "Application Experience".

0
Kelvin Wang

In meinem Fall waren die Dateien, die VS nicht kopieren konnte, die des .Task-Projekts, sodass das Problem darin bestand, dass einige geplante Aufgaben lokal ausgeführt wurden. Nachdem ich sie angehalten und deaktiviert hatte, verschwand das Kopierproblem.

0
electrodrel