Ich habe einen Ausgabeordner für mein DLL-Projekt über die Projekteigenschaften, die ich "Ausgabe" nennen.vshost.exe behält Zugriff auf meine .dll und ich kann es nicht aktualisieren, wenn ich es erstelle
Das Problem ist, aus einem leeren Ordner Ausgabe, das erste Mal, wenn ich das Projekt erstellen, ist es in Ordnung. Beim zweiten Mal erhalte ich den folgenden Fehler:
Der "andere Prozess" ist die vshost.exe von Visual Studio. Da es MyLibrary.dll einbezieht, kann es nicht gelöscht oder ersetzt werden, also warum der Fehler. Dies hält die MyLibrary.dll im Ordner Ausgabe nicht aktualisiert. Ich habe jedoch andere DLL-Projekte in meiner Lösung, in denen dies nicht passiert.
Die Lösung, die ich bis jetzt verwendet habe, um es zu aktualisieren, ist das Schließen der VS (also vshost.exe schließen), dann eine .bat-Datei ausführen, die die Datei Output \ Release \ MyLibrary.dll löscht, dann öffnen Sie die VS erneut und baue dein Projekt neu auf.
Ich weiß wenig von dem, was genau vshost.exe tut, also habe ich keine Ahnung von wo zu beginnen, dieses Problem von der Wurzel zu löschen. Ich weiß nicht, warum das mit einer bestimmten .dll passiert. Ich schätze jede Idee, die mir hilft herauszufinden, warum das passiert.
Es ist seit Visual Studio 2005 passiert. Hin und wieder, ohne besonderen Grund. Der einzige Weg, den ich gefunden habe, ist dasselbe zu tun. – SimonGoldstone
Es könnte etwas weitergehen, nachdem der Debugger getrennt wurde. d. h. laufender Code in einem Thread oder etwas. –
Ich habe dieses Problem, wenn ich eine Bibliothek in einer Visual Studio-Sitzung kompiliert hatte, und die Anwendung in einer anderen Visual Studio-Sitzung Debugging. Nachdem der Fehler im Bibliothekscode gefunden und neu kompiliert wurde, konnte die Anwendungskopie der Bibliothek nach dem Neuaufbau nicht aktualisiert werden. –