I wonder why this is not integrated by default. I'd like to have an item in Windows Explorer's file context menu of a VS solution file to build it.
Is there a tool for this? Or do I have to create this myself?
I wonder why this is not integrated by default. I'd like to have an item in Windows Explorer's file context menu of a VS solution file to build it.
Is there a tool for this? Or do I have to create this myself?
You might be able to cook up something using MSBuild.exe
along the lines of
<path_to_msbuild_executable>\MSBuild.exe /p:Configuration="<config>" %1
However, you would have to specify a configuration and then it will be hard to see all the output from the build. I'm not sure this would make all that much sense.
It's going to be fairly high maintenance, but not impossible. Open Regedit.exe and locate the HKCR\VisualStudio.csproj.9.0 key. Add the Build verb, make it look similar to this:
[HKEY_CLASSES_ROOT\VisualStudio.csproj.9.0\shell\Build]
[HKEY_CLASSES_ROOT\VisualStudio.csproj.9.0\shell\Build\Command] @="cmd.exe /k c:\temp\build.bat %1"
The cmd.exe /k command opens a console window so that you can read any error message from the build. The c:\temp\build.bat file ought to look similar to this:
call "c:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
msbuild %1
You probably also want to add the Build key to HKCR\VisualStudio.Launcher.sln so you can build solutions as well. That however is a bit of a version maintenance headache.
Here is a project to do it for VS 2003 & 2005. It could easily be altered for 20080 and 2010 too i imagine.
MSBuild Shell Extension have been there for years, though it is dead now,
http://msbuildshellex.codeplex.com/
But you can also try out my new project,
http://msbuildlaunchpad.codeplex.com/releases/view/45368
It is still in beta, but it is easier to use.