最近的一个项目结束了,花的时间一个月左右吧。。。。。

开发环境 win7+VS2012+MVC4(.net 4.0)+SQL SERVER 2008

部署环境 windows server 2003 + IIS6

注:我用的.net framework版本是4.0的,而不是4.5的。在后面我会说明为什么。

开发前对方说的是他们的服务器是windows server 2008R2 的,所以我才用了MVC4,想想在IIS7上部署MVC4是一件多么简单的事。

做完去到之后才发现是03的,真是坑啊!不吐槽了,继续重点。。。。

开发的过程就不描述了,重点只说MVC4的网站以及微软自己带的Reportview在IIS6中部署的注意事项

其中,在windows server 2003服务器中需要安装的东西可以参见以下的博客

http://blog.csdn.net/g2321514568/article/details/21275265

其中的mvc3我是没有安装的,因为没有用到。

而具体的IIS6.0的相应配置可以参考以下博客

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

其中最常遇到的问题就是忘记将"Web服务扩展"中的"ASP.NET v4.0.30319" 的服务必须为“允许”,以及修改生成目录的权限。

配置到上面的步骤,基于.net framework 4.0的MVC4程序已经能够正常运行在windows server 2003 中了。

可是为什么我不选择.net framework 4.5呢?当初也找了很多资料,貌似找的资料大部分都是说.net 4.5不支持windows server 2003,然后我也进行了测试

开发环境: win7+VS2012+MVC4(.net 4.5)

部署环境: 虚拟机 + windows server 2003 + IIS6

新建一个基本的MVC4(.net 4.5)项目,直接发布,然后部署,发现网站无法正常运行。。。。。

于是,手动修改项目的.net framework的版本为4.0

然后就出现了以下的错误

但我记得很清楚,项目中没有用到这些程序集,所以就去找4.5和4.0的程序集,发现4.0下面压根就没有出现错误的那个程序集,可是我已经将项目的framework

版本降为4.0了,应该是不会出现这个问题才对啊!对这个问题有些疑惑(我是先新建的空白解决方案也是4.5的,可能是这里的原因)。但是如果是重新建一个

.net 4.0的MVC4项目,就能正常运行,不会出现上述错误。手动将版本降低,我觉得是很麻烦,也不愿意这样去浪费时间,也正是由于这个原因,我才直接将

项目的版本选为是4.0的,而不是4.5的(基于windows server 2003),如果是windows server 2008及以上版本,这个都不算是问题。这也只是我个人的观点

如果发现我的错误,请各位园友及时指出。

最后要说的就是reportviewer(vs2012中的11.0的版本)在windows server 2003的部署问题。

由于我是在VS2012中使用的reportviewer这个报表,在测试项目中添加了webform窗体以及报表文件

发现项目发布后的竟然不包含报表文件!!!

这个问题的解决方案就是修改报表文件的属性。。

当修改了报表文件的Build Action属性之后

再次发布就可以看到相应的报表文件了

对于这个报表,我也是只用了几次,真正部署的也就这一次。找到的大部分资料也只是8.0、9.0、10.0这三个版本,关于11.0这个版本的资料真的很少,找的资料也没怎么说清楚

都是概括的说了一些,并不具体,普遍说的都是只需要下面的3个dll放在发布过后的bin目录就可以正常运行

于是乎,将这几个dll复制到生成的bin目录下就去运行

结果还是不行,出现如下的错误:

最终经过多方寻找,也没能解决这个问题的方案,然后我就根据这个错误,去找Microsoft.SqlServer.Types.dll这个鬼程序集,找的我泪流满面,

找到之后,将它和之前的3个程序集一起添加到发布之后的bin目录下,,再次浏览该网站即可看到报表了(这里就不截正常运行的图片了。。)

这里用的是dll的方式,网上还有一种方式是在服务器直接安装reportviewer.exe这个程序,这个我还没有尝试过,也不是很清楚是否能成功。

写完才发现,这个报表的问题和MVC4的部署应该是两个主题的才对。。。由于项目中都用到,所以就放在这一次性写出来了,不再分开来写了

可能有些地方描述的不是很清楚,还请各位园友多多见谅。

相关下载:

报表中用到的5个程序集的下载地址:

http://pan.baidu.com/s/1eQnaKKi

MVC4在IIS6上部署遇到的问题的更多相关文章

  1. 在IIS6上部署WebService

    在IIS6上部署WebService 2016-12-07 目录: 1 创建web service项目2 部署WebService3 浏览页面 1 创建web service项目 返回 用Visual ...

  2. 在IIS6上部署MVC站点,Nhiernate数据库底层

    服务器环境要求: Windows 2003 server + IIS6.0 1.必须安装.net framework 4.0, MVC 2.最好能安装.net framework 的sp1, 我们服务 ...

  3. Window Server IIS6.0部署webservice请求调用提示请求失败

    在一台window server 2003机器上部署了一个webservice,iis为6.0,奇怪的是.在服务器本机调用webservice成功了,可是在其它client调用却反馈失败.详细什么原因 ...

  4. [转]IIS上部署网站

    如何在IIS6,7中部署ASP.NET网站 阅读目录 开始 查看web.config文件 在IIS中创建网站 IIS6 添加扩展名映射 IIS6 无扩展名的映射 目录的写入权限 SQL SERVER的 ...

  5. IIS 6.0上部署ASP.NET MVC2.0

    在IIS7.5及8.0上部署都没有成功,对于身份验证会出现问题,据说是要安装什么东西,在这里说下IIS6.0的配置吧,下面是使用.net 4.0,自己可以选择所需的版本. 再此之前先确定web是用到了 ...

  6. fedora上部署ASP.NET——(卡带式电脑跑.NET WEB服务器)

    andrew,20130601,guilin 本文记录在树莓派(fedora)上部署ASP.NET MVC2 的过程. 本文共分为六部分,分别是前置条件,Apache的安装,Mysql的安装,安装mo ...

  7. CentOS 7 上部署Mono 4 和Jexus 5.6

    概述 在这篇文章中我们将讨论如何在CentOS 7操作系统,安装 jexus. mono 和 配置 jexus,因此它将能够在这种环境中运行一个asp.net mvc 4 应用.这篇文章是描述如何在 ...

  8. deepsooncms在Ubuntu 14.04上部署教程

    deepsooncms在Ubuntu 14.04上部署教程 一.安装mono1.在命令行运行sudo apt-key adv --keyserver keyserver.ubuntu.com --re ...

  9. 基于Kubernetes在AWS上部署Kafka时遇到的一些问题

    作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 交代一下背景:我们的后台系统是一套使用Kafka消息队列的数据处理管线 ...

随机推荐

  1. 推荐一些常用感觉不错的jQuery插件

    转:http://www.cnblogs.com/v10258/p/3263939.html JQuery插件繁多,下面是个人在工作和学习中用到感觉不错的,特此记录. UI: jquery UI(官方 ...

  2. [ZigBee] 3、ZigBee基础实验——GPIO输出控制实验-控制Led亮灭

    1.CC2530的IO口概述 CC2530芯片有21 个数字输入/输出引脚,可以配置为通用数字I/O 或外设I/O 信号,配置为连接到ADC.定时器或USART外设.这些I/O 口的用途可以通过一系列 ...

  3. 据说每个大牛、小牛都应该有自己的库——DOM处理续

    在上篇据说每个大牛.小牛都应该有自己的库——DOM处理最后剩下attr()和css()方法没有处理,因为这两个方法当时并不自计划中,是写着写着突然想到的,一时间没有特别好的思路,当时已十一点多了,就去 ...

  4. Setting up SSL for SCM-Manager with Microsoft CA and TortoiseHg

    You can configure SSL for SCM-Manager so that the communication of your repositories are encrypted. ...

  5. 谈谈设计模式~原型模式(Prototype)

    返回目录 原型模式是创建型模式的一种,其特点在于通过“复制”一个已经存在的实例来返回新的实例(clone),而不是新建(new)实例.被复制的实例就是我们所称的“原型”,这个原型是可定制的. 原型模式 ...

  6. Beats数据采集---Packetbeat\Filebeat\Topbeat\WinlogBeat使用指南

    Beats是elastic公司的一款轻量级数据采集产品,它包含了几个子产品: packetbeat(用于监控网络流量). filebeat(用于监听日志数据,可以替代logstash-input-fi ...

  7. lua的io操作文档

    2014-09-16~15:26:35 I/O库提供两种不同的方式进行文件处理1.io表调用方式:使用io表,io.open将返回指定文件的描述,并且所有的操作将围绕这个文件描述 io表同样提供三种预 ...

  8. ELK日志应用平台搭建

    ELK架构: ElasticSearch:用于存储.索引日志. Logstash:用于收集.处理和转发事件或日志信息的工具. Kibana:搜索和可视化的日志的WEB界面. ELK优点: a.处理方式 ...

  9. sql语句中获取datetime的日期部分或时间部分

    sql语句中获取datetime的日期部分 sql语句中 经常操作操作datetime类型数据.今天在写一个存储过程的时候需要将 一个datetime的值的 日期部分提取出来.网上有许多这方面的介绍. ...

  10. linux配置hosts

    linux配置hosts linux下配置hosts和windows下其实就是一样的,找到文件在哪里就好 sudo vim /etc/hosts