2012-02-27 75 views
1

奇怪的情況。構建我的解決方案時DLL未更新

裏面的解決方案我有幾個項目。其中一個叫做Common,另一個是一個名爲Internal的web項目(不是web應用程序)。

內部引用了Common,所以每次構建應用程序時,都會將公共DLL複製到Internal網站上的bin文件夾中。

如果我在Common項目的類上更改一行代碼並重新構建它,則DLL不會更新內部bin文件夾(即使我重新構建內部),導致運行Common()的OLD代碼如果我在Common上有一個斷點,它會顯示一條警告,說代碼與原始代碼不同並且不會運行)。我設法解決它的唯一方法是手動刪除Internal上的Common DLL,然後重建。

我的問題是,我該如何避免它?如何可以永遠在內部相同的版本?

感謝

+0

好吧我不確定這裏,但如果你去內部,查看引用哪裏共同被引用,並去它的屬性。複製本地應該設置爲True。我認爲這是它,但我不是專家,所以我不確定。 – 2012-02-27 13:09:38

+1

當你做了一個'添加引用'時,你是通過「瀏覽」還是通過「項目」選擇了DLL?編輯:剛剛看到上面的評論,那就是我下一步要去的地方! – 2012-02-27 13:10:16

+0

您是否嘗試將該複製到輸出目錄設置爲「複製總是」該DLL? – 2012-02-27 13:11:09

回答

2

按照要求通過OP:

嘗試取出參考,雖然在「添加引用」對話框中的「項目」選項,再添加。這應該設置在重建時刷新的DLL。

2

一個可能的解決方案,簡單的可以是使用簡單PostBuildEvent你把批處理代碼,在成功打造總是份文件需要。

糟糕的是你增加了編譯時間。

0

如果您使用的第三方DLL已經被開發出更高版本的VS2013/vs2015(即.NEt 4.5,4.6,4.6.2),那麼它將無法在VS2010中正常工作 答案:將您的項目轉換爲VS2015解決問題或安裝.NET 4.6.2和用戶VS2013,並將框架更改爲最新的