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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM