2014-02-20 63 views
0

我正在升級我們的一個應用程序在工作中遇到了一個障礙。我們有一些「自定義」語言,通過文件上的自定義構建規則處理。但是,還有其他一些項目在生成之前依賴於生成的這些文件,但在生成之前使用「自定義」生成的文件進行項目需要其他項目。我所擁有的超級jenky解決方案是構建生成的代碼項目,但它們失敗,但生成必要的代碼,然後構建依賴關係。只運行自定義生成規則 - VS2012

我想要做的是在實際構建解決方案中的任何項目之前運行所有自定義構建規則。有沒有辦法做到這一點?

謝謝!

+0

這聽起來像你有一個循環依賴,是嗎?因爲在正常情況下,使用適當的自定義構建規則,MSBuild應該能夠檢測到您生成的文件丟失或過時。 – MSalters

+0

有效,是的。這是一個循環依賴,我不知道如何刪除。 – jhammond

回答

0

通常的原因是包含不相關文件的項目。例如。項目A包含項目B依賴的文件以及依賴於B的其他文件。將A拆分爲A1和A2。將B所依賴的文件移到A1中。將依賴B的文件移入A2。將相關性順序設置爲A1 <- B <- A2

A1現在構建,因爲它不依賴於B.B構建,因爲它的依賴關係由A1滿足。 A2的建立是因爲它的依賴關係是由B滿足的。