我有以下代码从另一个C#应用程序构建项目:

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


如何将配置开关传递给构建引擎?

最佳答案

您将需要设置属性,如下所示即可解决问题:

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

var success = project.Build();

关于c# - 通过BuildEngine传递MsBuild命令行参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3639206/

10-13 03:14