先解释一下问题:我原来的电脑环境是Win7+VS2015,因为新换了个电脑环境变成Win10+VS2015了,所以就把原先的项目复制到新的机器上,那么问题来了,原先的一个项目在VS2015上打开竟然直接报错(注意:这里不是发布到IIS上,就是直接用VS中F5运行)。报的错很常见,但是一般的解决办法都不试用,解决可是废了老大劲儿了。

  未能加载文件或程序集“System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

下面就开始描述我的解决办法:

  1.按提示错误来说,找不到这个程序集,怎么可能,最终是发现文件版本不对。

      

  所以,就将webconfig中,System.Web.Helpers的版本号直接改为2.0。

      

  谁知道又报了一个新错误,找不到System.Web.WebPages.Razor。这个在web.config中压根就没有记录...........................

      

  2.紧接着我把上图几个程序集全部注释掉,可惜出现的错误更多了。我开始回到最开始的问题,因为Bin目录下的文件版本不对,这一次我不改web.config文件中的版本号,我去找一个System.Web.Helpers版本号为1.0的dll直接把原来的给覆盖掉。

   所以在项目文件夹下搜索,发现如下图所示,第二个dll的版本是1.0,第一个dll版本是2.0,将1.0的版本把2.0的版本给覆盖掉,重新用VS运行,结果还是报错。

      

  

  3.接下来经过讨论猜测有可能是.net framework 版本的问题,因为VS2015中版本直接都是4.0靠上,而项目用的是3.5,所以又在控制面板->程序->程序和功能中,点击启用或关闭Windows功能,进而把.net framework 3.5给装上,之后关机重启再次运行,结果还是不行。

      

  4.既然不是.net framework版本的问题,就有可能是MVC版本的问题,这个项目比较老,采用的都是MVC3,而VS2015中已经没有MVC3了,最低版本就是MVC4。

      

  就尝试着在VS2015上装一个MVC3,在引用上点击管理Nuget包。之后点击安装,就可以了。其中在输出过程中发现,旧的DLL被新的DLL替换,MVC的DLL文件也重新替换。

                    

      

      

  最终,再次打开VS运行,发现能够运行,不再报错。

      

  总结:这次项目的转移出的错误本来来说不算是太坑,但是因为是系统由Win7换成了Win10,所以我有很大的诱导性,刚开始总是以为是系统换了,导致运行环境变了,所以就会出现这种奇葩问题。看很多网上给的回复说是,Windows的历史包袱很重,一阵吐槽,不得不说这其实是个坑。但是这都解决不了问题,所以还的慢慢研究,经过讨论,发现问题的根本所在。

Win7上的ASP.NET MVC3项目在Win10上运行的一个坑的更多相关文章

  1. 百度Web富文本编辑器ueditor在ASP.NET MVC3项目中的使用说明

    ====================================================================== [百度Web富文本编辑器ueditor在ASP.NET M ...

  2. 在ASP.NET MVC3项目中,自定义404错误页面

    在Web开发中,用户体验是至关重要的,一个友好的网站自然少不了自定义404错误页面. 让笔者为大家介绍404错误页面在ASP.NET MVC3项目中的配置: 第一步,在项目的Web.config文件中 ...

  3. 在没有安装有mvc3的主机上部署asp.net mvc3网站,需要包含的DLL文件

    原文:在没有安装有mvc3的主机上部署asp.net mvc3网站,需要包含的DLL文件 http://hi.baidu.com/aspxdiyer/blog/item/5515a69943232f1 ...

  4. Web Server 在IIS上部署ASP.NET Core项目

    在IIS上部署ASP.NET Core项目 一.配置应用程序池为无托管: 二.安装ASPNETCoreModule:(核心) 下载地址:https://go.microsoft.com/fwlink/ ...

  5. .NET开发框架(五)-IIS上部署ASP.NET Core项目教程

    系列教程:从初学者到架构师的一步步蜕变 本篇经验将和大家介绍如何在IIS上部署ASP.NET Core项目,希望对初学.NET CORE的童靴入门有所帮助! 1.打开VS,创建项目,选择ASP.NET ...

  6. 在CentOS上部署Asp.Net MVC3的第一次尝试

    关注mono已经很久了,现在才有时间真正的尝试一下在linux中部署asp.net的网站,也算是记录 一下自己的第一次尝试吧. 我的实践的环境是win7 + VM10 + CentOS6.5 下面就是 ...

  7. ASP.Net Core项目在Mac上使用Entity Framework Core 2.0进行迁移可能会遇到的一个问题.

    在ASP.Net Core 2.0的项目里, 我使用Entity Framework Core 2.0 作为ORM. 有人习惯把数据库的连接字符串写在appSettings.json里面, 有的习惯写 ...

  8. 在Linux CentOS上部署Asp.Net Core项目(Tengine、Asp.Net Core、Centos、MySql)

    一.前言 1.简单记录一下Linux CentOS 7中安装与配置Tengine的详细步骤. 2.简单比较一下Tengine 和Nginx 3.搭建Asp.net Core和部署 Web程序 4.总结 ...

  9. ASP.NET MVC3 自定义编辑模版

    在View中显示Model中的各字段,默认是使用htmlhelper的EditorFor方法,在界面上显示的文本框.而使用EditorTemplates可在View上为特定字段显示自定义的界面.比如购 ...

随机推荐

  1. JS实现关闭当前子窗口,刷新父窗口

    一.JS实现关闭当前子窗口,刷新父窗口 JS代码如下: <script> function refreshParent() {  window.opener.location.href = ...

  2. fcitx jdk maven profile配置

    #小企鹅输入法配置 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx&quo ...

  3. 第二次C语言作业

    实验一:判断成绩等级. 给定一百分制成绩,要求输出成绩的等级.90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出"输入数据错误&quo ...

  4. 磁盘阵列(RAID)实例

    raid技术分类可以分为基于软件raid技术和基于硬件raid技术 raid又分为raid-0.raid-1.raid-5和raid-10 Raid有”廉价磁盘冗余阵列”的意思,就是利用多块廉价的硬盘 ...

  5. WAMPP安装后mysql无法启动

    上午 10:23:42 [mysql] This may be due to a blocked port, missing dependencies, 上午 10:23:42 [mysql] imp ...

  6. php设计模式之单例模式使用示例

    单例模式也就是只能实例化一次,也就代表在实例化时不可能使用new关键字,下面是使用示例,大家参考使用吧   <?php class EasyFramework_Easy_Mysql{     p ...

  7. 现在开始(Do It Now)

    现在开始(Do It Now) 很多年前读大学的时候,我决定制定一个计划挑战自己:只用三个学期完成其他人通常花费四年的课程,能否毕业.这篇文章(此文为翻译)详细的说明了我在成功实现该目标过程中的所有时 ...

  8. 搭建DAO层和Service层代码

    第一部分建立实体和映射文件 1 通过数据库生成的实体,此步骤跳过,关于如何查看生成反向工程实体类查看SSH框架搭建教程-反向工程章节 Tmenu和AbstractorTmenu是按照数据库表反向工程形 ...

  9. Qt链接网站SLOT

    void BottomToolWidget::openLink() { QString link = "http://www.baidu.com";//在.h中添加slot声明,在 ...

  10. ZOJ 1442 Dinner Is Ready 容斥原理 + java大数

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=442 求解 x1 + x2 + x3 + .... + xn = m 其中xi属 ...