2013-05-17 27 views
2

我正在產生某些DLL的解決方案。假設項目A生成A.dll。項目B使用A.dll執行一些功能。總是強制引用的DLL更新?

當項目B是跑,它會檢查是否A.DLL在輸出目錄存在,如果沒有,它複製來自HintPath A.DLL(我理解)。但是,如果A.dll已經在輸出目錄中,它不會複製。

因此,如果項目A的變化和新的A.DLL生產,項目B之前,不會在輸出目錄中的副本將被刪除獲得新的A.DLL。因此,如果您運行項目B,它將使用舊代碼。

有沒有辦法迫使DLL文件總是被複制?也許在構建Project B之前刪除輸出目錄中的副本?

這將是很容易使用ProjectReference但它是由我們使用另一個編譯系統不支持。要解決此問題

+2

您可以在Visual Studio中的不同項目之間建立項目依賴關係,您是否嘗試過?創建解決方案,添加這些項目,然後確定項目依賴關係。 – dinony

+0

你使用了什麼其他的構建系統?如果引用不被支持,當它們專門爲此設計時,您確實需要告訴我們它是什麼,以便我們可以嘗試避免任何其他不受支持的功能。 – Bobson

回答

3

一種方法是在項目A全生成後事件。每次在Project A構建時,都可以告訴它將A.dll複製(或替換)到某個目錄。類似這樣的:

copy /Y "$(TargetDir)$(ProjectName).dll" "C:\SomePath"