如何将vs2012开发的基于.net framework 4.5框架的MVC4项目部署到windows server2003服务器上

来源:互联网 发布:阿里云备案信息查询 编辑:程序博客网 时间:2024/06/05 05:49

        最近使用vs2012开发的一个项目,准备部署到一台windows server 2003的服务器上的时候,却出了问题,花了两天左右才得以解决,其实原因很简单,.Net Framework的版本过高,windows server 2003不支持。

        如果是vs2012开发的基于.net framework 4.5框架的MVC项目,想要部署到windows server 2003,IIS6, .net framework 4.0的服务器上,需要做以下工作:

1、调整项目的框架:右键工程文件夹,选择属性


2、修改框架版本为.NET Framework 4.0,同理修改Domain的框架版本。

3、找到工程名文件夹下的引用,删除对Entity Framework.dll的引用,同理删除Domain文件夹下对Entity Framework.dll的引用(因为虽然框架的版本从4.5改为了4.0,但是EF在引用时的EntityFramework.dll是针对4.5版本的,原因就是C:\Program Files\Microsoft Web Tools\Packages\EntityFramework.5.0.0\lib ,里面有net40和net45两个版本,系统会默认选择net45引用(我的VS2012安装在C盘,因此EntityFramework.dll的地方在以上目录),因此我们只要引用正确的dll即可。)


4、下面我们重新添加工程文件夹下的Entity Framework.dll引用。

(1)右键选择添加引用


(2)在新打开的界面中点击【浏览】,找到刚刚的目录C:\Program Files\Microsoft Web Tools\Packages\EntityFramework.5.0.0\lib,将net40文件夹中的EntityFramework.dll添加引用。同理可以修改Domain文件夹中对EntityFramework.dll的引用。


(3)找到工程文件夹目录下的Web.config文件和Domain文件夹下的App.config文件,将其中的

<configSections>    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>  </configSections>
改为
<configSections>    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>  </configSections>

5.大功告成,重新生成一下,并发布出来,就可以到windows server 2003上顺畅的部署项目了!




转载请注明文章出处。




1 0
原创粉丝点击