2011-11-10 139 views
0

我知道msbuild不支持VDPROJ文件,但它可能使用命令行devenv構建。MSBuild創建VDPROJ

我想使用msbuild任務構建所有的項目(C#),並且只有在從我的解決方案中啓動特定安裝項目之後。當然這個項目依賴於以前創建的C#項目(從proj1,proj2,proj3輸入)。

我該怎麼辦?

回答

1

重寫AfterCompile(或AfterBuild)任務併爲devenv.exe添加Exec命令來編譯vdproj文件。當您運行devenv.exe/build/project時,您只會在指定的解決方案中構建指定的項目。只有自上一次構建以來發生更改的項目文件纔會生成。因此,除非它們被更改,否則依賴項目將不會被構建。

+0

如果項目產出確實發生了變化(例如代碼簽名)會怎樣?然後,對devenv.exe的調用將觸發重新簽名的組件,覆蓋文件並撤消代碼簽名。有沒有辦法明確告訴devenv.exe不要構建vdproj依賴關係? – l33t

+1

您不應該觸摸項目輸出文件。代碼簽名前將輸出文件複製到不同的位置。 – Ludwo