首先,我并没有升级他,头一天还是好好的,用的都是2.0.0.0版本的,今天来打开就出现了这个错误:
未能加载文件或程序集“System.Web.WebPages.Razor, Version=3.0.0.0,.......
然后在网上找了一篇文章:http://www.cnblogs.com/kcjm/p/6430101.html
说是MVC4升级到MVC5的问题,导致相关的dll引用版本没有自动更新。
1.查了一下我引用的dll,仍然是2.0.0.0版本的;
2.查看配置文件的Appsetting中的配置:<add key="webpages:Version" value="2.0.0.0" /> 也是2.0版本;
3.然后我又查了一下项目文件 SystemManage.csproj,用记事本打开,
<Reference Include="Microsoft.Web.Helpers, Version=3.0.0.0......
<Reference Include="System.Web.Razor, Version=3.0.0.0.......
<Reference Include="System.Web.WebPages, Version=3.0.0.0......
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0......
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0......
这些引用都变成了3.0.0.0的了,我不知道为什么,有知道的可以写在评论里。
然后我就按照网上的方法开始修改,在 程序包管理器控制台 和 Nuget包管理器 中安装与更新
1:运行 Install-Package -Id Microsoft.AspNet.WebHelpers
2:修改 Web.config中appSettings,全部修改为3.0(这一步可改可不改)
3:运行 Install-Package Microsoft.AspNet.WebPages.Data
然而没什么用,又出现了另一个错误:
安全透明方法“System.Web.Mvc.PreApplicationStartCode.Start()”尝试访问安全关键方法“System.Web.WebPages.Razor.PreApplicationStartCode.Start()”失败。
我继续查,过了好久,还是没解决问题,难道就不能升级成MVC5?我用的.NetFrameWork是4.6.1的,不知道是不是这个问题。
由于项目要赶着继续做,只能先撤回成2.0.0.0的,
方法:项目文件 SystemManage.csproj,用记事本打开,把里面那几个3.0.0.0的引用都改成2.0.0.0的,然后再打开项目就好了,不知道还会不会自动变成3.0.0.0。
猜测:由于项目文件中的版本号升级了,对应的dll并没有升级,需要将所有对应的dll都升级才行:
Microsoft.AspNet.WebHelpers
Microsoft.AspNet.WebPages
Microsoft.AspNet.WebPages.Data
Microsoft.AspNet.MVC
Microsoft.AspNet.Razor
Microsoft.AspNet.WebApi
Microsoft.AspNet.WebApi.Core
Microsoft.AspNet.WebApi.WebHost
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】