Передача аргументов командной строки MsBuild с помощью BuildEngine - PullRequest
1 голос
/ 04 сентября 2010

У меня есть следующий код для сборки проекта из другого приложения 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!!!!!!");
}

В настоящее время он строит конфигурацию по умолчанию (Debug), но я хочу, чтобы он собрал версию выпуска. Если бы я вызывал MsBuild из командной строки, я бы сделал что-то вроде:

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

Как передать этот конфигурационный переключатель движку сборки?

Ответы [ 2 ]

3 голосов
/ 04 сентября 2010

Вы хотите установить свойство, что-то вроде этого должно помочь:

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

var success = project.Build();
2 голосов
/ 04 сентября 2010

Используйте одну из других перегруженных реализаций BuildProjectFile.Я верю этому одному .Создайте BuildPropertyGroup и добавьте нужные свойства.В этом случае «Конфигурация» = «Выпуск»

...