我將MSBuild直接嵌入到更復雜的構建工具中。相關的代碼看起來大致是這樣的:如何以編程方式取消嵌入的MsBuild構建
// assume 'using Microsoft.Build.BuildEngine;'
Engine e = Engine();
BuildPropertyGroup props = new BuildPropertyGroup();
props.SetProperty("Configuration", Config.BuildConfig);
e.BuildProjectFile(projectFile, new string[] { "Build" }, props)
我的問題是如何一旦它開始取消此版本,而不做一些激烈的像終止線程。另外,如果正在構建的項目是一個C++項目,構建將至少涉及一個子流程,因此取消該線程甚至不會真正取消構建。
我沒有看到引擎類的任何取消方法 - 有人知道一種方式嗎?
hmmm .... TFS正在這樣做,如果你運行TFSBuild停止命令... :) – badbadboy 2008-11-22 23:26:40
同意 - 顯然微軟知道如何做到這一點,但我一直無法弄清楚。 – Charlie 2008-11-23 03:57:05