2011-02-03 25 views
1

我正在創建一個msbuild自定義任務,該任務將控制如何在構建上生成程序集版本。如何知道在編譯之前是否會構建項目並使自定義任務運行或不

我面臨的第一個問題是如果項目沒有改變,我不想更改程序集版本。

因爲更改程序集版本會更改項目,並且由於項目將被修改(由我),所以會導致項目生成。如果我的任務沒有運行,該項目將不會建立。

是否有一種方法在msbuild中讓我的任務在編譯之前運行,並知道項目是否實際構建或知道項目沒有改變。

感謝

+0

我研究了知道該項目是否會在不久前建成的問題。我看起來不可能知道它是否是後來建造的。但我仍然希望,有人知道。 – 2011-02-03 18:35:49

回答

0

這取決於你想如何添加版本,構建系統的作品等等。

如果對於產品中的所有組件都有一個版本,那麼可以使用 條件創建簡單任務,條件是svn/git/..修訂版是否更改。然後將所有AssemblyInfo.cs文件添加到+1。

您可以在每個項目基礎上應用相同的解決方案。

用於決定編譯與否的實際條件太複雜。

+0

事實上,如果一個項目將被建立或不建立,我自己評估就太複雜了。我的問題是如果msbuild提供了一個擴展點或者某個東西來告訴我「呃,需要構建項目X」。 – Sebastien 2011-02-07 14:38:55

相關問題