我正在尝试用代码构建Visual Studio sln项目。我正在致电vs 2017命令提示符,然后尝试发送命令Msbuild。我收到以下错误:
“ [ERROR:parse_cmd.bat]无效的命令行参数:“ msbuild”。参数将被忽略。 [ERROR:parse_cmd.bat]无效的命令行参数:“ projectName.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项目。
答案 0 :(得分:0)
如果您只想构建,我建议将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
,然后再构建。