问题
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?
回答1:
MSBuild Shell Extension have been there for years,
http://msbuildshellex.codeplex.com/
But you might also try out my new project,
http://msbuildlaunchpad.codeplex.com/releases/view/45368
It is quite easy to use. MSBuild Launch Pad http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=msbuildlaunchpad&DownloadId=122261
回答2:
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.
回答3:
Here is a project to do it for VS 2003 & 2005. It could easily be altered for 20080 and 2010 too i imagine.
http://www.codeproject.com/KB/winsdk/VS_BuildHere.aspx
回答4:
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.
回答5:
There is a collection of registry entries at http://www.nerdpad.com/windows/msbuild-context-menu-build-net-projectsolution-from-explorer that does this.
来源:https://stackoverflow.com/questions/2833327/build-item-in-windows-explorers-context-menu-of-a-vs-solution-file