views:

163

answers:

1

I'm about to upgrade to Visual Studio 2010, and I'm learning that there are now a few options for deploying web application projects. I've been using Web Deployment Projects in 2008, and my initial thought was to do the same in 2010.

Is there any advantage to using Publish or the Web Deployment Tool over Web Deployment Projects?

I need to automate the process so that the build and the deployment can be run from TeamCity. I'd prefer a method that would allow me to use the Visual Studio (sln) Runner but a custom MSBuild script would be OK too. See Web Application Deployment Workflow with SVN and TeamCity for more information on my current build/deployment workflow.

A: 

They both accomplish the same end goal, but they work very differently. In the end I used the new Web Deployment Tool. I chose it for the following reasons:

  1. I can build my solution without installing any add-ins and with VS 2010 Express. MSDeploy is executed on my build server from an MSBuild script
  2. MSDeploy seems to be the preferred method.
  3. Web.config transformations are more flexible than WDP web.config section replacements. Only certain config sections could be replaced with WDP, but transformations are simply XML transformations that can apply to anything.
jrummell
Web deployment projects did run aspnet_compile - which (as far as I can see based on a quick test of publish to FileSystem) the VS2010 publish does not. I think the step of compiling the aspx/ascx is really valuable to catch typos etc. that would otherwise show themselves as runtime Asp.Net parser errors
Chris F