C#在控制台应用程序中构建Visual Studio项目
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#在控制台应用程序中构建Visual Studio项目相关的知识,希望对你有一定的参考价值。
我正在尝试用代码构建我的visual studio sln项目。我正在调用vs 2017命令提示符,然后尝试发送命令Msbuild。我收到以下错误:
“[错误:parse_cmd.bat]命令行参数无效:'msbuild'。参数将被忽略。 [错误: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 Studio2017ProfessionalCommon7ToolsVsDevCmd.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项目。
答案
如果您要做的就是构建,我建议将C:Program Files (x86)Microsoft Visual Studio2017ProfessionalCommon7ToolsVsDevCmd.bat
更改为MSBuild可执行文件的路径,它应该像C:Program Files (x86)Microsoft Visual Studio2017ProfessionalMSBuild15.0Binamd64
那样然后它应该构建。
以上是关于C#在控制台应用程序中构建Visual Studio项目的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio 中构建 C++ 项目不会创建任何文件
如何在 Visual Studio 2010 的 C++ googletest 项目中设置代码覆盖率