In addition to Solution 1:
If Visual Studio Express limitation is a critical issue (please see my comments to Solution 1: I'm not sure), you should understand that you can always build any project without Studio at all. As a matter of fact, Visual Studio itself does not build anything, it only provide input to the build system.
Everything needed for build is bundled not with Visual Studio, but with .NET Framework itself, which is freely distributed and is a re-distributable. At the very least, you always have C# and VB.NET compilers and build system (used via MSBuild) —
for free. And this way of build has
absolutely no limitations. Please see:
http://en.wikipedia.org/wiki/MSBuild[
^],
http://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx[
^].
In case of critical problems, you can always learn the structure of project files and modify such file directly. I can only recommend it as a last resort. Also, you can build very custom project files to build anything at all, related to .NET or not. This build project language is purely declarative and very powerful. If you do it, you can develop very robust build system fully automating required configuration twists is a fully safe way (in particular, by passing custom options in command-line parameters of MSBuild), without touching the project files manually after they are developed and debugged. I could provide very good alternative project/solution maintenance.
—SA