如何在 VS2013 的开发人员命令提示符中打开和 运行 devenv \ build 命令?

How to open and run devenv \ build command in Developer Command Prompt for VS2013?

我想从命令行构建一个 VS 2013 项目。

手动打开"Developer Command Prompt for VS2013"后,将目录更改为项目目录并插入以下命令

devenv myproject.csproj /build

项目构建成功

问题是我想从 C# 函数中执行此操作。我尝试了很多东西,但 none 成功了。

手动执行时,我从快捷方式启动命令提示符。快捷方式实际上 运行 是一个设置环境的 .bat 文件,因此您可以从命令提示符 运行 命令,如 devenv。 这是我 运行ning

的代码
string runDevEnv = @"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE>devenv.com ";
string projectPath = @"C:\Users\Administrator\Documents\Visual Studio 2013\Projects\CodedUITestProject2\CodedUITestProject2\CodedUITestProject2.csproj" ;
string makeString = "\"";
string slashc = "/c ";
string makebuild = " /build";
string compileProject = slashc + runDevEnv + makeString + projectPath + makeString + makebuild;
System.Diagnostics.Process.Start("CMD.exe", compileProject);

创建一个批处理文件来调用 devenv 可能更容易(如果你真的需要的话)但除此之外,我怀疑这只是你如何引用的问题 - 而且你有一个 > 在通往 devenv.exe 的道路上。尝试:

string devEnv = @"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe";
string projectPath = @"C:\Users\Administrator\Documents\Visual Studio 2013\Projects\CodedUITestProject2\CodedUITestProject2\CodedUITestProject2.csproj" ;
string compileProject = string.Format("/c \"{0}\" \"{1}\" /build",
    devEnv, projectPath);
Process.Start("CMD.exe", compileProject);

(如评论中所述,您可能希望使用 devenv.com 而不是 devenv.exe,以防止 Visual Studio 本身启动。如果您可以使用 msbuild 相反,这显然会更好 - 我知道这不会立即为您工作,但值得调查原因而不是放弃它。)