我已經通過項目屬性爲我的.dll項目設置了輸出文件夾,我稱之爲「輸出」。vshost.exe不斷更新我的.dll文件,我無法更新它
問題是,從一個空的輸出文件夾,我第一次生成項目,沒關係。第二次,我收到以下錯誤:
Error 328 Unable to copy file "obj\Release\MyLibrary.dll" to "......\Output\Release\MyLibrary.dll". The process cannot access the file '......\Output\Release\MyLibrary.dll' because it is being used by another process.
「另一個進程」是Visual Studio中的vshost.exe。由於它保持訪問MyLibrary.dll,它不能被刪除或替換,爲什麼錯誤。這使輸出文件夾上的MyLibrary.dll不會更新。不過,在我的解決方案中,我還有其他.dll項目,但這並不會發生。
我迄今用來更新它的解決方案是關閉VS(因此關閉vshost.exe),然後運行一個.bat文件,該文件刪除文件Output \ Release \ MyLibrary.dll,然後再次打開VS並重建它的項目。
我對vshost.exe的確切工作知之甚少,所以我不知道從哪裏開始從根清除此問題。我不知道爲什麼這發生在一個特定的.dll。我很感激任何幫助我調查爲什麼發生這種情況的想法。
自從Visual Studio 2005發生這種事以後,每隔一段時間,沒有特別的原因。我發現的唯一方法就是和你一樣。 – SimonGoldstone
調試器分離後,可能會繼續進行。即線程上的一些正在進行的代碼或其他。 –
當我在一個Visual Studio會話中編譯了一個庫並在另一個Visual Studio會話中調試應用程序時,我遇到了這個問題。在找到庫代碼中的錯誤並重新編譯之後,重建之後,它無法刷新庫的應用程序副本。 –