I've inherited a very large VS2012 web site project (not web application) and am trying to automate it's deployment. There are tons of circular references in the project so to get it to precompile using aspnet_compiler.exe I have to turn on fixednames. The problem with that is it causes the build to take about 20 minutes on my quad core, 16gb ram, ssd developer machine. The previous developer didn't have to deal with this as he would just copy the whole source to the production web server.
So before I tackle the circular references issue I want to at least automatically deploy the project using msdeploy. I can use the publish profiles within visual studio and it does exactly what I want:
- Builds the referenced DLL's and adds them to the project.
- Does the web.config transforms.
- Does not even attempt to build the website but just packages into a zip file for me.
What I can't figure out for the life of me is how to get MSBuild.exe to do that exact same thing!
MSBuild.exe WebProject.vs2012.sln /m /T:Build
/p:Configuration=Release`;DeployOnBuild=true`;PublishProfile=TestDeploy
The command above still tries to execute aspnet_compiler which is not what I want. The publish profile says that it shouldn't be precompiled... but in the logs I see it executing it.
So: How can I use msbuild to deploy a Web Site Project without precompiling it?