Deploying an ASP.NET MVC Application in Visual Studio 2008
ASP.NET MVC is not a website, it is a web application. You need to expand it or just create and then copy.
Also, depending on your hosting company, you may not have the System.Web.MVC assembly available to you.
So, you need to deploy this to the bin directory as well. You can get it there by going to the links by selecting System.Web.MVC. Right click -? Properties. Then copy locally.
EDIT: [Including additional comments below just in case anyone misses this] you need to take an extra step before publishing the web app. You need to set the copy local attribute to true for the following System.Web.Mvc, System.Web.Routing and System.Web.Abstractions links. If you want, you can go directly to the official documentation.
source to share
The best practice is to have a script construct that automates the build, testing and deployment process, so all you have to do is run a batch file or command to run the whole thing. We do this very successfully using NAnt to build, test, test code coverage, and deploy to test the environment and production environment.
This saves an incredible amount of time without having to worry about what files to copy, where they go, and what configuration changes to make after deployment.
source to share
I am very happy with the RTW Web Deployment Tool ( http://www.iis.net/extensions/WebDeploymentTool ). From Visual Studio 2008 Publish your web application locally to create content, and then use the web deployment tool to sync with the host server.
source to share