2013-04-15 82 views
1

我有2個類庫(ClassAClassB),它們正在被另一個庫(ClassX)引用。這些庫在Web ProjectWeb01)中被引用。C#類庫不會自動更新

最初在Web01中只使用ClassAClassB。當我在Web01中使用ClassX時,它會自動修改我對ClassAClassB的引用。我注意到這一點,因爲無論何時我更改ClassAClassB,並生成Web01,ClassA.dllClassB.dll日期不更新。它們與ClassX.dll的日期相同。 ClassA.dllClassB.dll的日期將只會更新,直到我建立ClassX

有沒有這方面的工作,我不必每次修改ClassX我在ClassAClassB做了一些更改?

+0

都是同一個解決方案中的4個項目,如果是的話都是引用項目引用?如果沒有,這聽起來像預期的行爲... – Jon

+0

Visual Studio將只重新編譯一個項目,如果有變化,所以簡單地編譯解決方案並不總是會導致每個項目不必要地重新編譯。如果所有這些項目都在同一個解決方案中,VS將確保每個項目都根據需要進行編譯。 – IamIC

+0

ClassA,ClassB和Web01在同一個項目/解決方案中。當我啓動ClassX時,我還將ClassA和B添加到其解決方案中。所有都是項目引用,因爲我一直在想,無論何時更新和重建ClassA和ClassB,更新都將顯示在Web01中。問題是我也需要重建ClassX。我的問題是ClassX的未來發展將被轉移給其他人,我不能打擾他們並要求重建它,除非他們有變化。 – jmerencilla

回答

0

正如上面的評論所述,如果項目駐留在同一個解決方案中,則構建應該是級聯的。

如果他們駐留在不同的解決方案中,那麼據我所知,需要一個自定義構建腳本來確保編譯/重新編譯,並遵循正確的構建順序。

同樣,這只是據我所知。可能有其他選擇。

還有其他值得注意的地方,以防萬一它適用:如果你在任何引用的程序集中有常量值並且常量被改變,請記住重新編譯引用該程序集的所有東西,因爲常量在編譯時被解析並被替換在二進制文件中直接使用字面值。