2012-08-06 68 views
0

得到我有這樣的項目結構子項目:CruiseControl.NET:建立由SVN

 
    main -- main.csproj 

    main/subproject1 --- main.subproject1.csproj 
    main/subproject1/view/ --- main.subproject1.view.csproj 
    main/subproject1/business/ --- main.subproject1.business.csproj 
    main/subproject1/metadata/ --- main.subproject1.metadata.csproj 
    main/subproject1/facade/ --- main.subproject1.facade.csproj 
    main/subproject1/data/ --- main.subproject1.data.csproj 

    main/subproject2 
    main/subproject2/view/ 

...

所以,我想建立/編譯只有特定的.csproj項目時,有一些修改我的SVN存儲庫「trunk」上的文件。 我試圖使用MsBuild + ModificationReader,但我不知道如何修改閱讀器的作品(文檔很差)

你們有什麼想法如何做到這一點?

+0

只是想知道是否有文件之間的依賴這些項目。如果它有任何依賴關係,那麼我認爲當一個項目發生變化時,您需要構建整個項目。 – 2012-08-07 03:45:40

+0

您是對的,項目在相同的解決方案中具有依賴關係,但逐個構建編譯並不是一個好主意。如果沒有依賴關係做出不同的解決方案,如果有依賴項編譯整個解決方案 – 2012-08-07 18:47:52

+0

這些項目之間有一些依賴關係,但是有一個特定的構建順序,因此,如果多個項目有任何修改,它將使用預定義訂購。 – 2012-08-07 20:32:27

回答

0

看一看在filteredSourceControlProvider和inclusionFilters

http://www.cruisecontrolnet.org/projects/ccnet/wiki/Filtered

如果每個的csproj有CCNET項目,然後每個人都可以被觸發爲自己的變化

+0

不幸的是,對於每個「子項目」,我只有1個ccnet項目。 我不認爲這個解決方案可以應用在這裏:( – 2012-08-07 19:50:54

+0

如果是這種情況,那麼只需添加filteredSourceControlProvider並指定要監控的路徑,只有在這些路徑中存在修改時纔會強制構建 – 2012-08-08 05:36:56

+0

正如@Hassan所說的因爲你的項目之間存在依賴關係,所以最好讓Msbuild獨立地構建解決方案而不是每個項目。這將解決任何依賴性問題,即構建順序。 – 2012-08-08 05:39:38

相關問題