简体   繁体   English

C#在控制台应用程序中构建Visual Studio项目

[英]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.

相关问题 在不使用Visual Studio的情况下构建C#控制台项目 - Building C# console project without Visual Studio Visual Studio Code - C# 控制台应用程序 - Visual Studio Code - C# Console Application 即使成功构建项目,应用程序也无法与MDF文件建立连接[Visual Studio 2010 C#] - The application cannot make a connection with MDF file even building the project successfully [Visual Studio 2010 C#] C#Visual Studio不仅在当前项目中构建 - C# Visual Studio Not Building in current project only 格式代码MS Visual Studio for C#控制台项目不起作用 - Format Code MS Visual Studio for C# Console project Not working Visual Studio 2008 - 发布C#控制台应用程序的问题 - Visual Studio 2008 - Issues with publishing C# Console Application 为什么在Visual Studio c#控制台应用程序中立即将其关闭? - Why does this close immediately in Visual Studio c# console application? Web解决方案中的Visual Studio C#调试控制台应用程序 - Visual Studio C# debug console application that is part of web solution 在mono(mac)中编译C#visual studio控制台应用程序 - Compile a C# visual studio console application in mono (mac) C# 使用 Visual Studio 构建 Win 7 和 8 应用程序 - C# Building Win 7 & 8 Apps with Visual Studio
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM