2016-12-06 132 views
5

在Visual Studio中,我的项目没有任何问题,但从命令行生成错误“硬错误”。项目.NET(C#)从命令行在2017 Visual Studio中生成项目?

命令行:

psinfo = new ProcessStartInfo(DEVENVPATH, @"""c:\Projects\[--pathtoproject--].sln"" /build"); 
psinfo.WindowStyle = ProcessWindowStyle.Hidden; 
psinfo.UseShellExecute = false; 

Process.Start(psinfo).WaitForExit(); 

我遇到错误 “硬错误” 和Visual Studio崩溃。

+0

有什么内容'DEVENV'?这是令人困惑的,因为而不是** Developer Enviornment **应该有'msbuild'或'csc'。 –

+0

DEVENVPATH = C:\ Program Files文件(x86)\ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ devenv.exe –

+0

如何使用msbuild而不是devenv构建?谢谢 –

回答

6

您应该使用MSBuild.exeCSC.EXE代替devenv.exe的的。

const string COMPILER = "PATH/TO/DEV/TOOLS/msbuild.exe"; 
// later in code 
psinfo = new ProcessStartInfo(COMPILER, "PATH\TO\PROJECT\PROJECT_NAME.sln /t:Rebuild /p:Configuration=Release"); 

Compiling with devenv需要更多的参数(和我认为它需要添加一些信息,有关项目):

psinfo = new ProcessStartInfo(DEVENVPATH, @"""c:\Projects\[--pathtoproject--].sln"" /build RELEASE"); 
+0

谢谢! Msbuild的作品。如何选择要构建的项目? –

+0

建立只有一个项目,而不是''PATH \ TO \ PROJECT \ PROJECT_NAME.sln'你可以做''PATH \ TO \ PROJECT \ PROJECT_NAME.csproj' –

+0

(如果选择csproj :)我得到错误“toolset”,“用15.0构建,但需要12.0“,如何选择构建工具集?感谢 –

相关问题