Hallo "Kollegen",
zwei Fragen bezüglich "gelockten" DLLs.
Wenn ich eine DLL in ein Projekt einbinde und kompiliere, dann ist die DLL gesperrt, das bedeutet, wenn ich eine neue DLL in das Verzeichnis kopieren will, geht das erst dann, wenn ich das Projekt schließe - gibt es da einen anderen Weg, so in etwa unload DLL oder sowas ähnliches? Ist nämlich total nervig.
Wie löst man eigentlich den Konflikt, DLL xyz is used by another resource? Hintergrund war, dass ich einene eigenen msbuild-Task in einem Projekt geschrieben hatte und das Projekt als ganzes eingebunden, also nicht die DLL. Den Task habe ich vor dem Kompilieren (im Projektfile BeforeBuild) aufgerufen, dann bekam ich immer eine Fehlermeldung, dass diese DLL nicht verwendet werden kann, da schon von anderer Resource die DLL verwendet wird. Wie kann man dies lösen? OK, Nr. 1 würde mir schon reichen, da man ja nicht immer eigene msbuild-Tasks schreibt
Danke euch schon mal für etwaige Antworten im Voraus.
Gruß
Du hast den Hostingprozess ausgeschaltet?
Hallo FZelle,
geht auch nicht, wenn ich den VS Hosting Prozess disable. Nach dem ersten Compilieren sind die DLLs gesperrt. Ich kann dann eine neue DLL nur einspielen, wenn ich das Projekt schließe (und dann wieder öffne)
Neue DLL Einspielen?
Wozu sollte das nötig sein.
OK, schwammig ausgedrückt, neue Version einer DLL einspielen 😉
Das ändert nichts an der Frage.
Wozu brauchst du soetwas?
Wenn Du addins für VS.NET erstellen willst, benutze das SDK dafür, dann
kannst Du eine VS.NET Version zum debuggen starten und beenden.
Ansonsten gibt es eigentlich keinen Grund, das VS.NET deine DLL festhält.
Wozu brauchst du soetwas?
Siehe Eingangspost #2 (wozu man das braucht sollte eigentlich egal sein. Ich wollte einfach nur wissen, wie man das Locking aufheben kann - das muss doch irgendwie gehen)
Das ist doch ganz genau das, was ich geschrieben habe.
Wenn Du eine Erweiterung für VS.NET schreibst, dann mach es so wie beschrieben,
denn nichts anderes wird funktionieren.