正如标题所说,为什么 ASP.NET MVC 4 项目有这么多的 NuGet 包?现在整个框架都拆分成包了吗?哪些对于将是网站、没有 API 等的空项目真正重要?
更新
澄清一下,我没有问题,好吧,除非你把基本的混淆算作一个。我只想知道为什么新的MVC 4项目默认安装了这么多包?一个空的项目有一整页的包。一个互联网项目有三整页的包。
我只是好奇为什么这是因为我当前的 MVC 3 项目最多使用五个包。
正如标题所说,为什么 ASP.NET MVC 4 项目有这么多的 NuGet 包?现在整个框架都拆分成包了吗?哪些对于将是网站、没有 API 等的空项目真正重要?
更新
澄清一下,我没有问题,好吧,除非你把基本的混淆算作一个。我只想知道为什么新的MVC 4项目默认安装了这么多包?一个空的项目有一整页的包。一个互联网项目有三整页的包。
我只是好奇为什么这是因为我当前的 MVC 3 项目最多使用五个包。
正如标题所说,为什么 ASP.NET MVC 4 项目有这么多的 NuGet 包?
这是您需要询问框架设计者的问题。
哪些对于将是网站、没有 API 等的空项目真正重要?
这是允许您配置路由并使用呈现 Razor 视图的操作定义控制器的严格最低要求:
<packages>
<package id="Microsoft.AspNet.Mvc" version="4.0.20710.0" targetFramework="net40" />
<package id="Microsoft.AspNet.Razor" version="2.0.20710.0" targetFramework="net40" />
<package id="Microsoft.AspNet.WebPages" version="2.0.20710.0" targetFramework="net40" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net40" />
</packages>
或者如果您只喜欢一页的 1/2:
自 ASP.NET MVC 3 工具更新以来,越来越多的 ASP.NET MVC 通过 NuGet 包交付。这提供了几个优点:
您会注意到,在来自 Basic 模板的项目中,您将获得以下包:
九个中有五个用于 Web Api,它已经高度组件化,允许开发人员在哪里以及如何使用它们方面有很大的灵活性。如果要最小化 NuGet 包,可以使用 Basic 模板。
随着您进入 Basic 和 Internet 模板,您会看到更多的包来支持项目提供的附加功能。Internet 引入了多个开源、非 Microsoft 代码包,例如 OAuth 和 JavaScript 库。
有很多 JavaScript 包,仔细想想,这是一件非常好的事情,因为这意味着 NuGet 会自动为您处理 JavaScript 依赖项——如果您想升级 jQueryUI,而后者又需要新版本的 jQuery,它'会自动为你升级 jQuery。