2010-09-03 57 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并添加您想要的属性。在这种情况下,“配置” =“发布”