Я встраиваю 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 ++, сборка будет включать, по крайней мере, один подпроцесс, поэтому отмена потока даже не приведет к реальной отмене сборки.
Я не вижу метода отмены в классе Engine - кто-нибудь знает способ?