C# 使用BuildEngine传递MsBuild命令行参数
我使用以下代码从另一个C应用程序构建项目:C# 使用BuildEngine传递MsBuild命令行参数,c#,msbuild,msbuild-buildengine,C#,Msbuild,Msbuild Buildengine,我使用以下代码从另一个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 Work
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
如何将该配置开关传递给生成引擎?使用BuildProjectFile的其他重载实现之一。我相信这一点。创建BuildPropertyGroup并添加所需的属性。在本例中,“配置”=“发布”使用BuildProjectFile的其他重载实现之一。我相信这一点。创建BuildPropertyGroup并添加所需的属性。在这种情况下,“配置”=“发布”您需要设置属性,类似这样的操作应该可以实现以下目的:
var pathToCsProjFile = "";
var buildEngine = new Engine();
var project = new Project(buildEngine);
project.Load(pathToCsProjFile);
project.SetProperty("Configuration", "Release");
var success = project.Build();
您需要设置属性,类似这样的操作应该可以实现以下目的:
var pathToCsProjFile = "";
var buildEngine = new Engine();
var project = new Project(buildEngine);
project.Load(pathToCsProjFile);
project.SetProperty("Configuration", "Release");
var success = project.Build();