Using VCBuild.exe with device projects
A very savvy user logged a bug against VS2005 Beta 2 to let us know that VCBuild.exe wasn't working against device projects, and a workaround that he had found. This was a known issue that has been fixed for RTM, but in case you want to know how you can make this work for you, the hack around is to delete the "DeployTool" section in the project file. The reason that you need to do this is that VCBuild.exe only loads the VC project system, not the Visual Studio shell. The deployment tool as implemented in Beta 2 requires the shell, so it fails to initialize properly when the shell isn't available. Because the VC project system does lazy initialization of tools, and only creates them as required, removing the deployment tool section causes this tool never to be created and initialized, and therefore everything works. The fix we implemented for RTM, in case you're interested, is to have a stub implementation of the tool when running without the shell that doesn't actually do anything (this is okay because deployment isn't possible from VCBuild.exe).