С# Создание проекта Visual Studio в консольном приложении

79
11

Я пытаюсь построить свой Visual Studio SLN проект в коде. Я вызываю командную строку vs 2017, затем пытаюсь отправить команду Msbuild. Я получаю следующую ошибку:

"[ОШИБКА: parse_cmd.bat] Недопустимый аргумент командной строки: 'msbuild'. Аргумент будет игнорироваться. [ОШИБКА: parse_cmd.bat] Недопустимый аргумент командной строки: 'projectName.sln'. Аргумент будет проигнорирован."

buildInfo.Arguments = "msbuild project.sln"; в строке buildInfo.Arguments = "msbuild project.sln";

Process cmd = new Process();
try
{
ProcessStartInfo buildInfo = new ProcessStartInfo();
buildInfo.CreateNoWindow = false;
buildInfo.RedirectStandardError = true;
buildInfo.RedirectStandardOutput = true;
buildInfo.RedirectStandardInput = true;
buildInfo.UseShellExecute = false;
buildInfo.FileName = @"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat";
buildInfo.WorkingDirectory = @"directoryToProject";
buildInfo.Arguments = "msbuild project.sln";

cmd.StartInfo = buildInfo;

cmd.Start();
string stderr_str = cmd.StandardError.ReadToEnd();
string stdout_str = cmd.StandardOutput.ReadToEnd();

Console.WriteLine(stderr_str);
Console.WriteLine(stdout_str);

cmd.WaitForExit();
}
catch (Exception e)
{
Console.WriteLine(e);
}
finally
{
cmd.Close();
Console.WriteLine("Built the project");
}
}

Я ожидаю, что это построит проект sln.

спросил(а) 2021-01-19T14:24:39+03:00 6 месяцев, 1 неделя назад
1
Решение
77

Если все, что вы пытаетесь сделать, это собрать, я бы порекомендовал изменить C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat на путь исполняемого файла MSBuild, который ДОЛЖЕН быть чем-то вроде C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\amd64 А потом его надо собрать.

ответил(а) 2021-01-19T14:24:39+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема