I have an ASP.NET MVC app with multiple web.config transforms. I am using TeamCity to build and deploy the application using WebDeploy.

I want to be able build and package in Release mode in one TeamCity build. I want a second build to take the package from the first build, run a web.config transform for a specific environment, and deploy to that environment.

I have done this with Octopus Deploy, because it has a feature to run web.config transforms on a given NuGet package. 

How can I accomplish this using msbuild and WebDeploy? They seem to tie the web.config transform closely to the process of compiling code. I'd rather not compile code once for each environment.