Asp.net MVC4.0(net4.5) 部署到window server 2003上的解决方案

最近做了一个Web项目,也没多想就用了Asp.net MVC4.0 ,MVC4.0默认的目标framework是4.5版本,等开发完毕才发现,将要部署的现有服务器是Window server 2003,没有window 2008。

但是Net Framework4.5是不支持安装在window server 2003上。 这中间还去机房折腾过,折腾的事情就不说了。

今天早上来公司就开始研究如何把Asp.net MVC4.0 (Net Framework4.5)部署到现在有window server 2003上。从早上一直到下午6点,一直不成功,各种错误,都快准备放弃了,突然就成了。。。

本文简单记录一下今天的操作步骤,也参考、综合了网上各种方案。

一。window server 2003 环境配置

参考来源:http://www.cnblogs.com/gesenkof99/archive/2013/04/22/3035436.html

window server 2003 上的IIS6就不用说了,肯定会有
 1.安装Net Framework 4.0.去微软官网下载一个版本就行

但是其实安装不上的。。。会提示缺少组件,这里需要事先安装两个组件,安装过程幸亏不需要重启服务器。

WindowsServer2003-KB968930-x86-CHS.exe,PowerShell 2.0的补丁(下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=4045)

wic_x86_chs.exe,windows图像处理组件(下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=32)

下载安装过着两个组件之后,再安装Net Framework4.0

2.安装Asp.netMVC4 http://www.microsoft.com/en-us/download/details.aspx?id=30683

有的技术网友说需要注册一下iis,但是我没有注册,命令如下:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

二。 在IIS中部署注册MVC站点

这个网友的写的比较详细,我就不贴了。

http://www.cnblogs.com/anny-1980/articles/2616657.html

三。把解决方案内每个项目的目标框架framework4.5 变成Net framework4.0

对项目右键--属性--应用程序,把目标框架变成Net framework 4。

如果你的解决方案里面还有其他类库或者其他引用的项目都要进行这一步的操作。

这一步看起来很简单,其实最复杂,不光要把解决方案内的项目都变成Net framework4.0,还要把引用的第三方类库都变成Net framework4.0版本。这是一个最大的问题,因为MVC4本身就有大量的dll,即使你没用,也都引用到项目中

在MVC4的Netframework4.5版本中生成的dll,都要变成相匹配的Net framework4.0版本,我就是在这个上面花费大量的时间,具体解决后面再说。

项目编译发布就放到window 2003的环境下,结果各种报错。。。

1.Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib

2.Could not load file or assembly 'DotNetOpenAuth.Core‘

搜索了各种资料,有价值的包括这些

www.microsoft.com/zh-cn/download/details.aspx?id=30683

大概意思还是 是把net framework4.5 变成net framework4.0过程中产生方法或者dll不匹配的问题。但是没有明确的解决方案,或者我参照做了,还是不成功。

中间我尝试过把不相关的dll都删除的方法,还是不行,从引用里面和配置文件里面删除了,都不行(但是在本机window 7环境中是正常)。

反正最后的焦点都集中在dll不匹配的问题中,每个项目的目标框架都变成了Net framework4.0,但是还有很多引用的dll还是net framework4.5的版本。但是也无从查证哪些是

于是我根据经常报错的几个dll信息。

例如“Could not load file or assembly 'DotNetOpenAuth.Core”

我仍然新建了一个Asp.net MVC4.0的项目,但是Net framework特地选的是4.0的版本。

从新生成的项目的Bin文件夹中,把DotNetOpenAuth 相关的Dll都拷贝老的项目Bin文件夹中,结果问题就真的解决。

如果还有其他dll也报类似的错误,从net framework4.0版本的项目拷贝出来应该也可以解决类似的问题。

 
 

Asp.net MVC4.0(net4.5) 部署到window server 2003上的解决方案的更多相关文章

  1. 建筑材料系统 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发

    框架介绍: 1.基于 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发 2.采用MVC的框架模式,具有耦合性低.重用性高.生命周期成本低.可维护性 ...

  2. 利用CSS预处理技术实现项目换肤功能(less css + asp.net mvc4.0 bundle)

    一.背景 在越来越重视用户体验的今天,换肤功能也慢慢被重视起来.一个web系统用户可以选择一个自己喜欢的系统主题,在用户眼里还是会多少加点分的.我们很开心的是easyui v1.3.4有自带defau ...

  3. Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据

    Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据 在这一节中,你将新创建一个新的 MoviesController类,并编写代码,实现获取影片数据和使用视图模板在浏览器中展现 ...

  4. Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型

    Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型 在这一节中,你将添加用于管理数据库中电影的类.这些类是ASP.NET MVC应用程序的模型部分. 你将使用.NET Framewo ...

  5. Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图

    Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图 在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML ...

  6. Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器

    Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器 MVC概念 MVC的含义是 “模型-视图-控制器”.MVC是一个架构良好并且易于测试和易于维护的开发模式.基于MVC模式的应用程 ...

  7. 主攻ASP.NET MVC4.0之重生:ASP.NET MVC使用JSONP

    原文:主攻ASP.NET MVC4.0之重生:ASP.NET MVC使用JSONP 原文地址 http://www.codeguru.com/csharp/.net/net_asp/using-jso ...

  8. ASP.NET MVC4.0+ WebAPI+EasyUI+KnockOutJS快速开发框架 通用权限管理系统

    1.基于 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发 2.采用MVC的框架模式,具有耦合性低.重用性高.生命周期成本低.可维护性高.有利软件 ...

  9. SNF快速开发平台3.0之BS页面展示和九大优点-部分页面显示效果-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout

    一)经过多年的实践不断优化.精心维护.运行稳定.功能完善: 能经得起不同实施策略下客户的折腾,能满足各种情况下客户的复杂需求. 二)编码实现简单易懂.符合设计模式等理念: 上手快,见效快.方便维护,能 ...

随机推荐

  1. UVA11080- Place the Guards(二分图染色)

    题目链接 题意:放最少的士兵去监视全部的道路, 但士兵不可相邻,符合的话,就输出最少的士兵数,否则输出-1 思路:事实上就是二分图染色,即黑白染色,然后选择黑白染色最少的那个颜色累加,但要注意可能有多 ...

  2. javaEE异常摘要——更换工作区相同tomcat当部署在同一个项目疑难解答

    我有一个项目,我的工作区公告,没问题,它可以运行正常,但我把项目copy还有一个工作空间,然后发布到tomcat(随着tomcat,先前的工作空间remove deployment,公布信息)上去,想 ...

  3. Swift使用单个案件管理FMDB数据库

    下班... 抢 我曾经Swift使用单一个案管理FMDB数据库的方法共享出来: // Created by 秦志伟 on 14-6-12. import UIKit class ZWDBManager ...

  4. Redux基础

    Redux 是一个状态容器 Redux 就像是作者自己的介绍,它不会为你提供任何的东西,它不会告诉你如何做路由,它只专注于应用程序状态,是一个 JavasSript 的状态容器,所有的状态的变化都是当 ...

  5. linux下一个eclipse组态jdk

    今天ubuntu12.04安装eclipse,安装该想法eclipse后.还需要配置jdk.但没想到eclipse我有自己主动做好(但最主要的原因是我的linux在刚刚安装了一个jdk,假设有两个或更 ...

  6. POJ 1742 Coins (多重背包)

    Coins Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 28448   Accepted: 9645 Descriptio ...

  7. 关于通过id查询记录的一些总结

    最近在做一个oa系统,简化了账号的设置,列名均为id,类型均为varchar:有的表将id设置成了主键,有的表没有设置成主键. 通过举例说明通过id查询的一些问题. 之前登陆的时候,账号001-007 ...

  8. hardware_hp刀片服务器安装windows 2008系统配置

    2012年10月26日星期五 第一步. 看刀片机柜的后的OA地址 点击 OK 查看 Actlve OA 例如: 192.168.254.31 l 第二步: 连接PC 到左侧第一个接口 修改本机ip为同 ...

  9. 【转】Appium根据xpath获取控件实例随笔

    原文地址:http://blog.csdn.net/zhubaitian/article/details/39754233 如文章<Appium基于安卓的各种FindElement的控件定位方法 ...

  10. vs2012连接sql2008(错误类型:Could not load file or assembly)

    发生错误: Sql Server2008数据库中有一个数据库. 我想ORM-Entity FrameWork技术,在自己主动了一个项目,建立一个实体类! 解决的方法: 出现上面的情况.是由于缺少了这两 ...