mvc 未能找到类型或命名空间名称"html",命名空间System.Web中不存在类型或命名空间名称“Mvc” 是否缺少程序集引用?...

最近遇到一个奇怪的问题,系统中的一个ASP.NET MVC项目每次只要一打开就会出现:命名空间“System.Web”中不存在类型或命名空间名称“Mvc”(是否缺少程序集引用?) 这个错误提示。

后经过排查,造成此问题的原因在于System.Web.Mvc.dll是手动添加引用的,在类库中手动添加Mvc命名空间一旦项目拷贝到其他地方、整体目录有大的更改、或者本地电脑上Mvc.dll文件路径不正确,就可能会出现上述缺少程序集引用以及。

无效的System.Web.Mvc引用,在VS2013中用一个黄色三角形作为警告标志:

3cbcc5038c5d

图片.png

具体的错误信息:

错误 7 命名空间“System.Web”中不存在类型或命名空间名称“Mvc”(是否缺少程序集引用?) F:\Code\Repos\HC_InformationSystem\Model\AccountModels.cs 95 21 Models

警告 8 未能解析此引用。未能找到程序集“System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL”。请检查磁盘上是否存在该程序集。 如果您的代码需要此引用,则可能出现编译错误。 Models

解决这个问题很简单,由于使用的是 Visual Studio Community 2013,所以我们只要使用Nuget来加载ASP.NET MVC的包就可以解决这个问题,以后项目无论如何改变都不会出现Mvc引用失败和无法解析的问题了,NuGet管理工具会自动帮助我们将MVC的包安装到项目中。类库和项目中的一些包的引用,最好还是使用NUGET来管理,不仅方便也可减少很多问题。

具体解决步骤如下:

一、首先在VS2013中右键点击项目的解决方法,然后选择管理解决方案的NuGet程序包.

3cbcc5038c5d

图片.png

二、在管理操作界面中,选择已安装的包=》全部,找到如下图所示Microsoft ASP.NET MVC 和 Microsoft ASP.NET MVC 简体中文资源这两个包。

3cbcc5038c5d

图片.png

点击这两个包的管理,在选择项目中将有用到Mvc.dll的项目打上勾(由于这个项目本身是ASP.NET MVC 项目,所以默认就有这两个包,不然要另外通过NUGET先安装包,在添加到其他的项目中):

3cbcc5038c5d

图片.png

完成MVC包的添加后,项目中的Mvc.dll就完成引用,重新生成下解决方案,警告和错误提示都不在显示了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值