ASP.NetMVC3安全升級導致程式集從3.0.0.0變為3.0.0.1
一直以來,開發MVC3應用,在部署的時候為了方便,並不在使用者環境安裝MVC3,只是把用到的幾個assembly直接部署到bin裡,包括:
-
Microsoft.Web.Infrastructure.dll
-
System.Web.Helpers.dll
-
System.Web.MVC.dll
-
System.Web.WebPages.Deployment.dll
-
System.Web.WebPages.dll
-
System.Web.WebPages.Razor.dll
最近系統升級,再這麼部署網站時,發現不好用了,報錯:
Compiler Error Message: CS1705: Assembly `TestUnsafe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null` uses `System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35` which has a higher version than referenced assembly `System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35` |
發現沒?System.Web.MVC的版本要求是3.0.0.1,而bin裡放的仍然是3.0.0.0,肯定跑不起來。OK,換個新的程式集上去,把System.Web.MVC.dll 3.0.0.1版放上去,仍然跑不起來,報錯:
Parser Error Message: Could not load file or assembly `System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35` or one of its dependencies. The located assembly`s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) |
這是由於Web.config未更新導致的,找到下面的幾行:
1
2
3
4
5
6
7
8
|
< runtime >
< assemblyBinding xmlns = "urn:schemas-microsoft-com:asm.v1" >
< dependentAssembly >
< assemblyIdentity name = "System.Web.Mvc" publicKeyToken = "31bf3856ad364e35" />
< bindingRedirect oldVersion = "1.0.0.0-2.0.0.0" newVersion = "3.0.0.0" />
</ dependentAssembly >
</ assemblyBinding >
</ runtime >
|
調整oldVersion和newVersion,改成:
1
2
3
4
5
6
7
8
|
< runtime >
< assemblyBinding xmlns = "urn:schemas-microsoft-com:asm.v1" >
< dependentAssembly >
< assemblyIdentity name = "System.Web.Mvc" publicKeyToken = "31bf3856ad364e35" />
< bindingRedirect oldVersion = "1.0.0.0-3.0.0.0" newVersion = "3.0.0.1" />
</ dependentAssembly >
</ assemblyBinding >
</ runtime >
|
看到沒?把舊版本的MVC統一對映到3.0.0.1版去。再訪問站點,一切正常了。
本文轉自 BoyTNT 51CTO部落格,原文連結:http://blog.51cto.com/boytnt/1590928,如需轉載請自行聯絡原作者
相關文章
- 程式升級觸發阿里雲自身安全機制導致的莫名問題阿里
- 【Mongo】單節點升級為複製集再升級為分片加複製集Go
- MYSQL 5.7 升級 8.0 後的 由於字符集導致的大問題 ?MySql
- chorme自動升級導致跨域問題ORM跨域
- xcode升級導致cocoapods很多奇葩問題XCode
- 升級可能導致資料庫不可用(二)資料庫
- 升級可能導致資料庫不可用(一)資料庫
- 誤升級GLIBC導致系統崩潰之後
- 升級Xcode10導致的編譯錯誤XCode編譯
- Oracle升級導致ocr檔案損壞一例Oracle
- 資料庫升級導致ORA-918錯誤資料庫
- glibc 升級導致Linux顯示中文亂碼Linux
- Mac升級至macOS High Sierra後導致git無法使用MacGit
- 我的風變程式設計“升級”之旅程式設計
- 繫結變數分級導致共享池佔用過大變數
- Oracle 字符集從GBK升級到Utf8Oracle
- Elasticsearch叢集升級指引Elasticsearch
- pbootcms模板 後臺升級程式後導致網站打不開 Parse error: syntax error, unexpecboot網站Error
- 微軟升級病毒庫導致Win7/8.1端Defender出現bug微軟Win7
- 升級python2.7 導致xend 不能啟動解決辦法Python
- centos中從源程式升級python方法CentOSPython
- mongodb單機從3.2升級到4.0.4升級MongoDB
- Kubernetes 叢集升級指南:從理論到實踐
- MySQL升級會變慢?MySql
- MyBatis版本升級導致OffsetDateTime入參解析異常問題覆盤MyBatis
- 想成為網路安全工程師?如何“打怪升級”?工程師
- SMSSDK從2.x版本升級至3.x版本指導
- 升級xCode9 導航欄變化及一些小技巧XCode
- ABP Framework 手動升級指南:從6.0.1升級到7.0.0Framework
- 【ASK_ORACLE】Linux從6升級到7導致Oracle產生大量Log file sync等待事件處理辦法OracleLinux事件
- 從“安全大腦”到安全產業升級,新華三正在做這些事情產業
- oracle升級後資料檔案路徑變為大寫Oracle
- 從程式設計師升級到工程師 (轉)程式設計師工程師
- 研究發現從 Stack Overflow 複製程式碼的習慣導致 GitHub 專案安全性下降Github
- k8s 叢集升級K8S
- 老闆:把系統從單體架構升級到叢集架構!架構
- 【Azure微服務 Service Fabric 】因證書過期導致Service Fabric叢集掛掉(升級無法完成,節點不可用)微服務
- 記一次升級Gradle外掛導致相容問題的解決方案Gradle