2016-12-06 119 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「,如何選擇構建工具集?感謝 –

相關問題