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?
问题:
回答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
回答2:
For solutions you can use:
devenv /build Release Solution.sln
or
devenv /build Debug Solution.sln
回答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
回答4:
msbuild YourSolution.sln
回答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!
回答6:
you can use the c# (csc.exe
) compiler directly:
Command-line building with csc.exe