先解释一下问题:我原来的电脑环境是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. SQL语句优化实践

    减少查询的影响结果集,避免出现全表扫描. 影响结果集是SQL优化的核心.影响结果集不是查询返回的记录数,而是查询所扫描的结果数.通过Explain或Desc分析SQL,rows列的值即为影响结果集(还 ...

  2. Linux常用目录及文件

    1./etc/sysconfig/network 操作相关:hostname设置 2./etc/sysconfig/network-scripts/ifcfg-ethX(X为0.1等编号,一般为0) ...

  3. Struts2 有关于无法正常的使用通配符

    今天使用struts 2.3.4版本,做了一个通配符的小测试,结果其他的Action都能正常的使用,但是使用通配符的Action不能正常的使用.网上找了很久,最后发现,貌似strust2.3版本以上的 ...

  4. 转载:Solr的自动完成实现方式(第二部分:Suggester方式)

    转自:http://www.cnblogs.com/ibook360/archive/2011/11/30/2269077.html 在Solr的自动完成/自动补充实现介绍(第一部分) 中我介绍了怎么 ...

  5. Apache伪静态在网站目录没有反斜杠后自动添加反斜杠

    第一步:确认网站开启REWRITE规则 一般有两种情况: i.apache安装的时候已经包含rewrite功能 ii.后续配置的时候新添加mod_rewrite.so.这种情况需要在httpd.con ...

  6. error C4996: 'fopen': This function or variable may be unsafe.

    vs2013中错误提示信息: error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s ...

  7. eclipse 3.6 + tomcat 6.0 开发SSH框架学习

    1. 下载JDK 1.6.0.35 http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 下载之后 ...

  8. 数据库mysql优化方案

    1.创建索引对于查询占主要的应用来说,索引显得尤为重要.很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致.如果不加索引的话,那么查找任何哪怕只是一条特定的数据 ...

  9. javascript for循环练习

    有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问几年后有多少对兔子,幼兔.小兔.成兔对数分别是多少. 幼兔 1 小兔 0 成兔 0幼兔 0 小兔 1 成兔 0 幼兔 1 小兔 ...

  10. uvm - driver

    `ifndef MY_DRIVER__SV `define MY_DRIVER__SV class my_driver extends uvm_driver; function new(string ...