MVC4在IIS6上部署遇到的问题

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

开发环境 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

时间: 2024-08-01 10:45:50

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

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

服务器环境要求: Windows 2003 server + IIS6.0 1.必须安装.net framework 4.0, MVC 2.最好能安装.net framework 的sp1, 我们服务器上装的是.net framework 3.5 sp1和mvc3. IIS站点配置 1. 添加站点, 在站点上右击“属性”,选择“主目录”选项卡, 点击“配置”按钮, 弹出一个窗口.目录浏览可以不用. 2.弹出一个窗口,选择“映射”选项卡, 首先看一下“应用程序扩展”列表中,是否存在扩展名为".mv

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

在一台window server 2003机器上部署了一个webservice,iis为6.0,奇怪的是.在服务器本机调用webservice成功了,可是在其它client调用却反馈失败.详细什么原因呢? 经过摸索,最后发现是iis6.0的版本号过低,在iis7.0上没问题,在使用iis6.0时,须要在webservice的web.config中加入一段配置: <configuration> <system.web> <webServices> <protocol

[转]IIS上部署网站

如何在IIS6,7中部署ASP.NET网站 阅读目录 开始 查看web.config文件 在IIS中创建网站 IIS6 添加扩展名映射 IIS6 无扩展名的映射 目录的写入权限 SQL SERVER的配置 在IIS7中部署ASP.NET程序 80端口和域名 在我的第一篇博客中,我发布过一个示例项目, 主要演示了我的我的AJAX框架和我的通用数据访问层. 虽然在当初我认为我已考虑地比较周全了,而且还提供了足够的说明文档, 但在发布后的将近一年的时间里,还是有不少人给我发邮件,问我一些关于不能运行示

Linode VPS上部署类V2EX论坛应用Django forum

Django是Python Web比较著名的框架,很多有名的网站如Instagram都是利用该框架来搭建的.V2EX是一个界面简洁,功能丰富完整的论坛类型,基于Google APP Engine开发部署,部分源码尚未开源.网络上有很多模仿V2EX使用其它框架来开发部署的.今天记录下自己在Linode VPS上部署类V2EX Django应用. 登录Linode VPS账号 这里使用的是Ubuntu16.04LTS PuTTY远程登录Linode VPS主机 键入"Python",可以看

在LINUX上部署带有JAR包的JAVA项目

         在LINUX上部署带有JAR包的JAVA项目 首先eclipse上要装上一个小插件,叫做Fat Jar 点击Fat Jar 红框里选上主类点击Next 如图把勾打上 在该路径下找到jar包 通过ftp协议把jar包放在linux服务器下 进入到jar包路径 输入指令 java -jar XXX.jar 运行成功! 注意!!!!!!!!!!!!!!!! 当你断开服务器连接时,工程会停止! 所以要用下面的指令 指令:nohup java -jar XXX.jar 通过指令ps -e

Ubuntu15.04上部署python3.4+django1.8.8+mysql5.7+uwsgi+nginx

经过无数的百度,花了一天的时间,艰难的把django项目给部署到了Ubuntu15.04上.废话少说了,直接贴上部署步骤: 一.python安装 1.www.python.org下载 如下载的为 Python-3.4.3.tar.xz 2.解压: [email protected]:/home/dodo/Downloads/# xz -d  Python-3.4.3.tar.xz命令后得到Python-3.4.3.tar [email protected]:/home/dodo/Download

虚拟机评估——如何确定一个CPU核上部署的虚拟机数量?

最近研究虚拟化技术,不可避免遇到一个问题:如何评估物理主机上虚拟主机的容量?下面这篇文章的思路有一定的启发性,转发一下. 如何确定一个CPU核上部署的虚拟机数量? 摘要:本文说明一个CPU核上部署虚拟机的理想数量. 用户经常会问我这样一个问题,“在一个CPU核上部署虚拟机的理想数量是多少?”我试图从下面两个答案中其中一方面回答:要么用户基于业内测试实例做出决定,要么基于他们自己的桌面PC机来验证性能.评估CPU需求量. 用业内标准来评判,一个3.0GHz四核心双CPU的服务器通常可以负载的虚拟机

在Windows Server 2008上部署SVN代码管理总结

这段时间在公司开发Flex程序,所以使用TortoiseSVN作为团队代码管理器,今天在公司服务器上部署SVN服务器,并实验成功,总结如下: 服务器环境: 操作系统:Windows Server 2008: SVN服务器端程序:VisualSVN Server 2.1.5:(http://www.visualsvn.com/ ) 客户端环境: 操作系统:Windows 7 32Bit: SVN客户端程序:TortoiseSVN-1.6.12.20536-win32-svn-1.6.15:(htt

关于在BAE上部署ThinkPHP框架的问题

现在有点小兴奋,因为在在BAE上部署ThinkPHP框架的问题快折腾一天了,午觉都没睡,不过没白整总算有点结果.不扯淡了,直入正题吧. 之前熟悉ThinkPHP框架,想在BAE上用ThinkPHP做点东西,部署了一天的环境了总结一下把: 一:首先你得有百度帐号吧,别着急先登上.然后进入快速创建应用如下图所示 二.创建应用的具体过程就不多说了吧不是今天的重点,然后ThinkPHP官网上去下一个云引擎版本链接如下:http://www.thinkphp.cn/down.html,我是用的ThinkP