(一)前  言                                                                   

最近一个月使用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时的错误如下:

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

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

3.将webconfig 文件更改如下:

                                                                                                                            

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

5. 更改如下:

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)”。

 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下使用的了.

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

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

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

然后重新运行:

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

解决.VS2012+EF5.0开发的网站在window server2003上无法部署的问题的更多相关文章

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

    转载:http://www.cnblogs.com/eggTwo/p/3653825.html (一)前  言                                             ...

  2. Spring Boot框架开发的Java项目在CentOS7上的部署

    需求:上级拿来一份Spring Boot框架开发的Java项目代码让我在服务器上运行起来,只说了一句该框架是自带了Tomcat(不用重新安装Tomcat),一份代码下有两个项目(一个管理端项目,一个用 ...

  3. IIS6.0服务器搭建网站无法访问解决方法

    IIS6.0服务器搭建网站无法访问解决方法     IIS6.0服务器搭建网站无法访问解决方法很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的, ...

  4. SharePoint Server 2013开发之旅(二):使用在线的开发人员网站进行SharePoint App开发

    上一篇我已经介绍了新版本的SharePoint Server提供了四种主要的开发场景,其中一个全新的App开发模型让我们眼前一亮.这一篇我将介绍如何在线进行SharePoint App开发. 谈到Sh ...

  5. (4)Linux(ubuntu)下配置Opencv3.1.0开发环境的详细步骤

    Ubuntu下配置opencv3.1.0开发环境 1.最近工作上用到在Ubuntu下基于QT和opencv库开发应用软件(计算机视觉处理方面),特把opencv的配置过程详细记录,以供分享 2.步骤说 ...

  6. 解决项目中EF5.0升级到EF6.0无法安装包的方法

    今天在vs2012上新建了一个mvc4的项目,mvc4中默认的Entity Framework是5.0的版本,如下所示: 或者:,但是项目中有些要用到EF6.0的相关方法,用EF5.0实在繁琐,于是在 ...

  7. win7 vs2012+wdk8.0 搭建wdf驱动开发环境

    开发环境搭建:系统:win7 x64工具:vs2012 + WDK8.0插件:wdfcoinstaller.msi(1)先安装vs2012,再安装wdk8.0,这样在打开vs2012时可以创建wind ...

  8. 【Qt开发】解决Qt5.7.0中文显示乱码的问题

    [Qt开发]解决Qt5.7.0中文显示乱码的问题 亲测可用: 乱码主要是编码格式的问题,这里可以通过Edit菜单中选择当前文档的编码方式,选择按照UTF-8格式保存,然后输入对应的中文,保存,然后运行 ...

  9. vs2012+wdk8.0 搭建wdf驱动开发环境

    开发环境搭建: 系统:win7 x64 工具:vs2012 + WDK8.0 插件:wdfcoinstaller.msi (1)先安装vs2012,再安装wdk8.0,这样在打开vs2012时可以创建 ...

随机推荐

  1. *MyBatis框架 在控制台打印sql语句

    在 log4j.properties  中将这段代码添加进去就好了#log4j.rootLogger=INFO, Console#Consolelog4j.appender.Console=org.a ...

  2. C#八皇后问题 枚举值

    记得刚出道的时候, 有考虑怎么面试, 以及可能会遇到的面试题, 有一个人说了一下 八皇后问题, 据说要用 sql 语句写出来, 暂时我 写了一个C#版本的, 经测验,八皇后算法结果为 92种, 这个与 ...

  3. spring hibernate摘记

    一.spring 1.ContextLoaderListener    它作用就是启动Web容器时,自动装配ApplicationContext的配置信息.因为它实现了ServletContextLi ...

  4. org.apache.jasper.JasperException: Unable to compile class for JSP

    项目启动时报错 : The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory S ...

  5. CentOS6.5 oracle 11g R2 开机自动启动

    1.root 用户下修改ORATAB(将N该为Y): [root@ora11gr2 ~]# vim /etc/oratab mytest:/oracle/product//db_1:Y 2.oracl ...

  6. Java api 入门教程 之 JAVA的包装类

    Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数 ...

  7. 用php生成静态html页面(通用2种方法)

    因为每次用户点击动态链接的时候都会对服务器发送数据查询的要求 对于一个访问量可能达百万千万级别的网站来说 这无疑是服务器一个大大的负担 所以把动态数据转换成静态html页面就成了节省人力物力的首选 因 ...

  8. broadcom移植到openwrt总结

    评估及移植BCM5862x及BCM5301x到openwrt平台下: 一.首先得分清楚几个基本概念: 1.文件系统  文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固 ...

  9. js获得昨天前天明天时间以及setDate()

    <script type="text/javascript"> function GetDateStr(AddDayCount) { var dd = new Date ...

  10. codeforces118D. Caesar's Legions

    地址:http://www.codeforces.com/problemset/problem/118/D 题目: Gaius Julius Caesar, a famous general, lov ...