2010-09-03 75 views
1

我有以下的代碼來構建從另一種C#應用程序項目:傳遞的MSBuild命令行參數與BuildEngine

var buildEngine = new Engine(); 

buildEngine.RegisterLogger(new ConsoleLogger()); 

var success = buildEngine.BuildProjectFile(pathToCsProjFile); 
if(!success) 
{ 
    Log.LogIt("On Noes! We Broke!"); 
} 
else 
{ 
    Log.LogIt("It Worked!!!!!!"); 
} 

目前,它建立的默認配置(調試),但我想它來構建發行版。如果我在命令行中調用的MSBuild我會做這樣的事情:

C:\Windows\WinFX\v3.5>msbuild.exe *.proj /ToolsVersion:3.5 /p:Configuration=Release 

我如何通過該配置切換到構建引擎?

回答

3

你要設置的屬性,這樣的事情應該做的伎倆:

var pathToCsProjFile = ""; 
var buildEngine = new Engine(); 
var project = new Project(buildEngine); 
project.Load(pathToCsProjFile); 
project.SetProperty("Configuration", "Release"); 

var success = project.Build(); 
2

使用BuildProjectFile的其他重載實現之一。我相信這one。創建一個BuildPropertyGroup並添加您想要的屬性。在這種情況下,「配置」 =「發佈」