Building C# solutions from command line with Visual Studio 2010
Solution 1
if you open a visual studio command prompt from your start menu - then you can call MSBuild and give that either the .sln file or a specific .csproj file in order to build what you need
alternatively you can create a custom MSBuild file that takes care of the tasks.
one tip: make sure the version of MSBuild that you use is applicable to the target framework or tools version of the project
i.e. if you try and build a solution that was created in vs2010 with msbuild 3.5 then it will not recognise the 4.0 toolset of the project
Solution 2
For solutions you can use:
devenv /build Release Solution.sln
or
devenv /build Debug Solution.sln
Solution 3
Visual Studio project and solution files are also MSBuild build files.
You can simply run MSBuild against the solution/project file and it will build:
<path to>msbuild.exe <path to>solution/project file
Solution 4
msbuild YourSolution.sln
Solution 5
Personally I'm a huge fan of Rake (yeah - I heard you when you said your c# solution)
Check it out: http://www.lostechies.com/blogs/derickbailey/archive/2009/09/23/albacore-a-suite-of-rake-build-tasks-for-net-solutions.aspx
Have fun - it made life a lot better for me!
alexfr
Updated on September 23, 2020Comments
-
alexfr over 3 years
I want to automate the build process for my C# solutions. How can I build C# solutions from the command line so that I don't have to deal with dependencies manually?
-
IDIR Samir over 12 yearsI think csc.exe only works on .cs files but not on .sln files
-
Jay Walker over 11 yearsThis requires Visual Studio to be installed on the machine executing the build. msbuild is available with .net framework.
-
Admin over 11 yearsI had to execute
vcvarsall.bat
before I could getmsbuild
to run from any old cli instance, once I did that it works like a charm! -
huysentruitw about 11 years+1. For an unknown reason, msbuild doesn't work on a brand new .sln file generated with
qmake -recursive -tp vc my.sln
. I had to open the solution with VS to get msbuild working. With devenv, I can automate the qmake and build process. Thanks -
kroiz over 10 yearsYou could instead open the "Developer Command Prompt": All Programs -> Microsoft Visual Studio -> Visual Studio Tools.
-
Qwertie over 9 yearsHow does it know whether to do a Debug or Release build?
-
Christian over 8 years"msbuild /?" for command line arguments including debug/release
-
Matt over 4 yearsI tried this in a batch file, but had to put the line
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
on top of it. Then it worked. If you have a different edition of VS, you need to change the path to VsDevCmd.bat. -
Gulzar almost 4 yearsWhat if I want to specify output folder path?