我有以下代码从另一个C#app构建项目:
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!!!!!!");
}
目前它构建了默认配置(Debug),但我希望它能够构建发布版本。如果我从命令行调用MsBuild,我会做类似的事情:
C:\Windows\WinFX\v3.5>msbuild.exe *.proj /ToolsVersion:3.5 /p:Configuration=Release
如何将配置开关传递给构建引擎?
答案 0 :(得分:3)
你想要设置属性,这样的事情可以解决这个问题:
var pathToCsProjFile = "";
var buildEngine = new Engine();
var project = new Project(buildEngine);
project.Load(pathToCsProjFile);
project.SetProperty("Configuration", "Release");
var success = project.Build();
答案 1 :(得分:2)
使用BuildProjectFile
的其他重载实现之一。我相信这one。创建BuildPropertyGroup
并添加所需的属性。在这种情况下,'Configuration'='Release'