代码改变世界

How to deploy the ASP.NET MVC 3 website into the IIS7 on Windows server 2008

2012-02-26 23:33  小郝(Kaibo Hao)  阅读(1274)  评论(2编辑  收藏  举报

Recently, my teammates and I are working closely with our new product. I took a task to build a website which forms as an interface to access the status of the product or do some statistic work with the data which input or output thru the product. This website is build with ASP.NET MVC 3 and C#. Everything goes fine until I encountered the problem with the deployment. Here are some notes which will remind me how to deploy the ASP.NET MVC 3 website in the IIS7. And I hope these notes may give you some help. J

1. Add Deployable Dependencies

As you know, the ASP.NET MVC 3 is released after the Visual studio 2010. It acts as add-ons to the Visual studio and .NET framework 4.0. So there are some dependent assemblies of ASP.NET MVC needed to be deployed in the deployment environment even if you have installed the .NET framework 4.0 on the target machine. To add the dependent library is easy, but you need to take care of the options of the add-ons.

Note:

     Install the AspNetMVC3ToolsUpdateSetup.exe on you development machine before the deployment, which may ensure you refer the right version of ASP.NET MVC dependency library.

     Just check the option ASP.NET MVC, leave the two other options unchecked. Because the other these two options will import some assemblies which will cause version conflicts with the ASP.NET MVC.

2. Set the Package/Publish Web settings

Note:

If you don’t want to deploy the DB with the web application please uncheck the option “Include all database configured in Package/Publish SQL tab”

Set the value of the textbox “IIS Web site/application name to use on the destination sever” with the format site name/application name.

3. Generate the deployment package and commands

Right click your website and click the Package/Publish Settings option. Then the deployment package and related commands will generate in the path “obj\Debug\Package\MvcApplication1.zip”by Default. You may specify it in the step 2.

Note:

In the output windows of Visual studio you can find the shortcut link to the deployment package.

4. Execute the Deployment package command on the deployment server

Copy the deployment files in the step3 to your deployment server. The files listed below are required.

No.

FileName

Purpose

1.

MvcApplicaton1.Deploy.cmd

The deployment command which will be executed on the deployment server.

2.

MvcApplication1.SetParameters.xml

The parameters deployment used for specify the IIS website virtual path and DB connections string.

3.

MvcApplication1.zip

The website content

 

Note:

Install the MSDeploy tool on the deployment server. You can download it from http://www.iis.net/download/WebDeploy.

Use “/Y” as the MSDeploy deployment command parameter to deploy the website.

  1. Configure the IIS to run the website

Then you can browser your website if everything goes in its right way. J

Note:

Because I developed the web application on a 32bit machine, which means that I need to configure the App pool which the app run with in the 32bit mode. Or the website will raise an error which claims that it can’t load the 32bit assemblies. This may lead you to a wrong way to take a lot of time to check the bin folder which contains the assemblies of the application.

And here is the links where the experts show the best practice about the deployment of ASP.NET MVC.

Blog for deployment of ASP.NET MVC(Old version)

http://vishaljoshi.blogspot.com/2009/03/web-packaging-installing-web-packages.html

ASP.NET MVC 3 deployment introduction video

http://www.pluralsight-training.net/microsoft/players/PSODPlayer?author=scott-allen&name=mvc3-building-deploy&mode=live&clip=0&course=aspdotnet-mvc3-intro