19

我了解 ASP.NET MVC 4 项目所需的最少 Nuget 包是:

  • 微软 ASP.NET MVC 4
  • 微软 ASP.NET 剃刀 2
  • Microsoft ASP.NET 网页 2
  • Microsoft.Web.Infrastructure

但是我很想知道,以下软件包会添加到项目中吗?

  • Microsoft ASP.NET 网页 2 数据
  • Microsoft ASP.NET 网页 2 Web 数据

即这两个包是做什么的?这些 nuget 项目中的每一个的描述都与 Razor 2 包的描述相同,这并没有太大帮助。

4

1 回答 1

18

在对带有和不带有以下包的 MVC 4 项目进行了一些试验之后

  • Microsoft ASP.NET 网页 2 数据
  • Microsoft ASP.NET 网页 2 Web 数据

我得出的结论是 Nuget 包描述

此包包含 ASP.NET 网页的运行时程序集。ASP.NET 网页和新的 Razor 语法提供了一种快速、简洁、干净和轻量级的方式来将服务器代码与 HTML 相结合,以创建动态 Web 内容。

非常具有误导性。

Microsoft ASP.NET Web Pages 2 Data 实际上只包含 WebMatrix.Data.dll。这是添加此包时添加到项目中的唯一程序集。查看此程序集的MSDN 参考

WebMatrix.Data 命名空间包含简化 ASP.NET 网页中的数据库交互的类。此命名空间包括帮助您打开、查询和向数据库发送命令以及处理 SQL 查询返回的数据库行的类。

而对于Microsoft ASP.NET Web Pages 2 Web Data,这个包只添加了WebMatrix.DataWeb.dll(依赖于WebMatrix.Data.dll)。此程序集的MSDN 参考

WebMatrix.WebData 命名空间包含简化 ASP.NET 网页中的成员资格和安全性的类。此命名空间包括帮助您创建和删除用户帐户、定义角色和管理帐户密码的类。

因此,如果不使用 WebMatrix Data 访问数据库并且不使用简单的成员资格提供程序,则这些包是不必要的。

如果您正在使用 Simple Membership 提供程序,或扩展 Extended Membership 提供程序,那么这些包是必需的。

于 2013-05-17T14:13:03.177 回答