So far, I had the following technique to build my C++ projects from the command line (purpose: nightly build with jenkins, with the same configuration as the ‘normal’ project) :
devenv MySolution.sln /build "Release" /project "MyProject"
or, from an express version:
VCExpress MySolution.sln /build "Release" /project "MyProject"
Now, I recently got VC11 express for Desktop, and apparently, it’s not the same executable (I think the equivalent to VCExpress.exe is WDExpress.exe, am I wrong?), it’s not the same command line (it’s something like WDExpress MyProject.vcxproj /Build), and the build logs aren’t outputed to stdout (they might be available elsewhere).
So, I’m just wondering if I’m missing something?
Maybe it’s not WDExpress.exe that has to be called?
I was having the same issue myself just now. I think we are supposed to use msbuild.exe itself. It’s also a more general approach, since you don’t have to switch between vcexpress and wdexpress. I’m not even sure wdexpress.exe supports building sln files anymore (from the command line)
Anyway, here’s info on msbuild.exe
http://msdn.microsoft.com/en-us/library/ee662426.aspx
Tried it and it works. The location of msbuild.exe on my machine:
Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exeIt obviously varies with the .net version, so I’m now looking for a way to get the path to msbuild.exe from an environment variable or something similar.