使用C#,Visual Studio 2010。
MSDN上记录了一个名为System.Web.Mvc的命名空间。该命名空间中所有类型的文档表明它们位于System.Web.Mvc.dll
。
但是,当我转到Add Reference,“.NET”选项卡时,列表中缺少此程序集。为什么呢?
答案 0 :(得分:104)
在VS Express 2012中,我在“程序集”选项卡中找不到System.Web.Mvc,但经过一些搜索后我发现我需要查看“程序集\扩展程序 “选项卡而不是默认的”assemblies \ framework“选项卡。
答案 1 :(得分:87)
最好的方法是使用NuGet包管理器。
只需更新以下MVC包即可。
答案 2 :(得分:60)
我遇到了同样的问题,但无法找到System.Web.MVC引用程序集。
终于找到了,它位于以下位置。
请注意,如果您的VS安装在C:中(有时MVC.dll不在每个人都在谈论的默认位置,我的意思是位于C:驱动器中的“参考装配”文件夹。)
如果不存在,那肯定应该在这里:
\ Program Files(x86)\ Microsoft ASP.NET \ ASP.NET MVC 2 \ Assemblies \ System.Web.Mvc.dll
因此,通过导航或添加参考菜单中的浏览选项卡添加dll。
答案 3 :(得分:26)
您也可以从Nuget Package Manager控制台添加此内容,例如:
Install-Package Microsoft.AspNet.Mvc -Version 4.0.20710.0 -ProjectName XXXXX
Microsoft.AspNet.Mvc依赖于:
......这对我来说似乎没什么大不了的。在我们的例子中,这是一个类库,仅用于为我们的Mvc应用程序提供支持。所以,我们认为这是最坏的良性依赖。
我绝对更喜欢这个指向文件系统或GAC上的程序集,因为将来更新程序包可能会比我在GAC和文件系统程序集引用中遇到的经验痛苦少得多。过去。
答案 4 :(得分:11)
我遇到了同样的问题,这是一个有趣的原因:我的猜测是,您希望System.Web.Mvc
位于列表中的System.Web
下。但该列表不是按字母顺序排列的。
首先对列表进行排序,然后查看System.Web
附近。
答案 5 :(得分:5)
“好的,将XML添加到Web.config中 工作,但它没有回答 问题“
应该在那里。默认情况下,添加引用列表似乎是有序的,但事实并非如此。点击名称标题再看一遍。
答案 6 :(得分:5)
检查以下步骤:
注意:如果目标框架设置为.Net Framework 4 Client Profile,则不会在引用列表中列出MVC引用。您可以在.Net Framework 4和.Net Framework 4 Client Profile here之间找到不同的内容。
.NET Framework 4 Client Profile是.NET Framework 4的一个子集,它针对客户端应用程序进行了优化。它为大多数客户端应用程序提供功能,包括Windows Presentation Foundation(WPF),Windows窗体,Windows Communication Foundation(WCF)和ClickOnce功能。这样可以为面向.NET Framework 4 Client Profile的应用程序实现更快的部署和更小的安装包。
答案 7 :(得分:3)
现在,所需的装配已出现在列表中。
我只能推测是什么导致它出现,但我怀疑是我去文件→新→项目→ ASP.NET Web应用程序,这是我以前从未做过的。这可能导致某种类型的后期初始化发生,并且列表中将填充额外的Web开发程序集。
答案 8 :(得分:3)
我通过搜索" mvc"解决了这个问题。 System.Web.Mvc出现在搜索结果中,尽管它未包含在列表中。
答案 9 :(得分:2)
Visual Studio 2012已经改变了(我知道最初的问题是VS2010,但标题仍会出现在搜索中)。
创建VS2012 MVC项目时,system.web.mvc将放置在与解决方案对等的packages文件夹中。默认情况下,这将在Web项目中引用,您可以在其中找到确切的路径。
如果你想在辅助项目中引用它(比如支持带有过滤器或其他属性的.dll),那么你可以从那里引用它。
答案 10 :(得分:0)
我相信你会发现MVC程序集在web.config文件中引用,而不是在项目本身中引用。
这样的事情:
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
回复您的评论;
我能给出的最佳答案来自here:
add元素添加一个程序集 在编译过程中使用的参考 动态资源。 ASP.NET 自动将此程序集链接到 编译每个代码时的资源 模块。
答案 11 :(得分:0)
它可以分开安装, 并且它不包括在框架中, 选择标签列表&#34;扩展名&#34;它存在还有更多的其他库, 一切都好,不需要使用旧的libs等, 存在旧20 30和4001
答案 12 :(得分:0)
如果您在Visual Studio 2017中遇到此问题,则可能正在使用在先前版本的VS中创建的MVC 4项目,并且引用提示路径指向C:\Program Files (x86)\Microsoft ASP.NET
。 Visual Studio 2017不再安装此目录。
我们通常通过在2017实例旁边安装Visual Studio 2015的副本来解决此问题,并在上述路径中安装必要的库。然后我们更新受影响项目中的所有参考资料,我们很高兴。
答案 13 :(得分:0)