[英]C# Building Visual Studio Project in Console Application
I am trying to build my visual studio sln project in code. 我正在尝试用代码构建我的visual studio sln项目。 I am calling the vs 2017 command prompt then trying to send the command Msbuild.
我正在调用vs 2017命令提示符,然后尝试发送命令Msbuild。 I am getting the following error:
我收到以下错误:
“[ERROR:parse_cmd.bat] Invalid command line argument: 'msbuild'. “[错误:parse_cmd.bat]命令行参数无效:'msbuild'。 Argument will be ignored.
参数将被忽略。 [ERROR:parse_cmd.bat] Invalid command line argument: 'projectName.sln'.
[错误:parse_cmd.bat]无效的命令行参数:'projectName.sln'。 Argument will be ignored.”
争论将被忽略。“
Failing at the line 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");
}
}
I expect it to build the sln project. 我希望它能够构建sln项目。
如果您要做的只是构建,我建议将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
一样C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\MSBuild\\15.0\\Bin\\amd64
然后它应该构建。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.