Many shared hosts including WinHosts and GoDaddy do not provide all the necessary assemblies in the GAC to successfully publish an MVC application. Have no fear for as long as you have the right ASP.NET version (4) running on the host, you’ll be able to publish your creation with little additional effort.
MVC 3 is bin deployable, and you can simply copy all the necessary asseblies missing from the GAC into your own bin folder. These assemblies include:
However, before you start adding them into your References folder and ensuring they copy on publish, you can take a much simpler and cleaner approach.
1. Simply right click on the project folder and “Add Deployable Dependencies”
2. Put a check mark only next to “ASP.NET MVC” and click OK.
3. Publish via FTP or WebDeploy. Voilla. Simple as that.
You’ll notice that the this adds a new folder called, _bin_deployable_assemblies instead of adding the necessary assemblies to References. This is nice because it will not mess with the ever-so-indispensable IntelliSense features. I.e. it will not give you completions from the wrong assemblies (or unwanted) assemblies.
For more (or, rather, a slightly different articulation) check out this article, which talks about the same thing.