Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 578|回复: 0

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

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-4-29 09:02:33 | 显示全部楼层 |阅读模式

    把Asp.net MVC4.0(net framework4.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版本的项目拷贝出来应该也可以解决类似的问题。

     

     

     

     

     

     

     

     

     

     

     

     

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-22 21:10 , Processed in 0.064072 second(s), 30 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表