码迷,mamicode.com
首页 > Windows程序 > 详细

解决.VS2012+EF5.0开发的网站在window server2003上无法部署的问题(转载)

时间:2014-07-27 21:39:05      阅读:334      评论:0      收藏:0      [点我收藏+]

标签:

转载:http://www.cnblogs.com/eggTwo/p/3653825.html

(一)前  言                                                                   

最近一个月使用VS2012(默认框架是.net framework4.5),EF5.0开发了一套基础框架。开发完成之后,准备部署到window server 2003(公司的外网服务器)。却发现 window server 2003只支持.net framework 4.0和比 net framework 4.0 低的版本。

(二)解决方案简述                                                          

 第一步:将.net framework 版本改为 4.5

第二步:更改EF5.0针对.net framework 的版本

 

 

  (三)   错误重现及详细解决方案                                        

1.将原始网站部署到window server 2003时的错误如下:

bubuko.com,布布扣

 2.   更改所有项目的.net framework版本为 4.0

 在程序集上右击->属性->应用程序->目标框架。如图所示:

bubuko.com,布布扣

 

3.将webconfig 文件更改如下:

 

bubuko.com,布布扣

                                                                                                                                                                                     

4.重新运行网站 报错如下:

bubuko.com,布布扣

5. 更改如下:

 

bubuko.com,布布扣

 

6.运行网站

如果网站中没有使用EF的话,网站这时就可以运行成功了。但是由于我的网站中使用了针对于.net framework4.5 版本的EF5.0(EF5.0有两个版本,一个是针对.net framework4.5,一个是针对.net framework4.0)。由于我们降低了原网站的.net framework的版本(从4.5降低到了4.0)。所以我们应该使用针对.net framework4.0的EF5.0版本。但是由于我们原始网站的目标框架是4.5的,所以当我们在4.5框架上新建EF5.0时,默认使用的是针对.net framework4.5的EF5.0。所以网站会报如下错误:

错误:找不到方法:“Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)”。

bubuko.com,布布扣

 

 7.此错误解决方案如下:

解决方法很简单,主要问题是:虽然各个类库项目的编译版本(更改后的版本)选择了Framework4.0,但是EF(原始项目目标框架)在引用时的EntityFramework.dll是针对4.5版本的.因此我们只要将引用EF的地方将引用更改成正确的dll即可.

我的VS2012安装在C盘,因此EntityFramework.dll的地方在C:/Program Files (x86)/Microsoft Web Tools/Packages/EntityFramework.5.0.0/lib/ ,里面有net40和net45,net40自然是在Framework4.0下使用的了.

 

如下图我们可以清楚的看到两个版本的差异:

bubuko.com,布布扣

8.重新发布,部署到window server 2003上,报错如下:

bubuko.com,布布扣

 

报错原因是 EF5.0针对于.net framework 4.0版本的 Vseion=4.400,所以只需要更改Version即可。更改如图:

bubuko.com,布布扣

 

然后重新运行:

bubuko.com,布布扣

 

这个项目是本人做的一套权限控制的项目,准备写一个权限控制系列的文章。现截几张图看看。

bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣

bubuko.com,布布扣bubuko.com,布布扣

 

解决.VS2012+EF5.0开发的网站在window server2003上无法部署的问题(转载)

标签:

原文地址:http://www.cnblogs.com/ypfnet/p/3871190.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!