Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 为什么ASP.NET MVC 4有这么多NuGet软件包,哪些是真正重要的?_Asp.net Mvc_Asp.net Mvc 4_Nuget_.net Assembly - Fatal编程技术网

Asp.net mvc 为什么ASP.NET MVC 4有这么多NuGet软件包,哪些是真正重要的?

Asp.net mvc 为什么ASP.NET MVC 4有这么多NuGet软件包,哪些是真正重要的?,asp.net-mvc,asp.net-mvc-4,nuget,.net-assembly,Asp.net Mvc,Asp.net Mvc 4,Nuget,.net Assembly,正如标题所说,为什么ASP.NETMVC4项目有那么多NuGet包?现在是否将整个框架拆分为多个包?对于一个空项目来说,哪些是真正重要的,它将是一个网站,没有API,等等 更新 澄清一下,我并没有这个问题,除非你们把基本的困惑作为一个整体。我只是想知道为什么新的MVC4项目默认安装了这么多软件包?空项目有一整页的包。一个互联网项目有三整页的软件包 我只是好奇为什么会这样,因为我目前的MVC3项目最多使用五个包 正如标题所说,为什么ASP.NETMVC4项目有那么多NuGet包 这是一个你需要问框

正如标题所说,为什么ASP.NETMVC4项目有那么多NuGet包?现在是否将整个框架拆分为多个包?对于一个空项目来说,哪些是真正重要的,它将是一个网站,没有API,等等

更新

澄清一下,我并没有这个问题,除非你们把基本的困惑作为一个整体。我只是想知道为什么新的MVC4项目默认安装了这么多软件包?空项目有一整页的包。一个互联网项目有三整页的软件包

我只是好奇为什么会这样,因为我目前的MVC3项目最多使用五个包

正如标题所说,为什么ASP.NETMVC4项目有那么多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软件包交付。这有几个优点:

  • 升级到通过NuGet-MVC本身和其他相关组件(Razor、Web API)交付的组件,无需等待ASP.NET MVC、.NET或Visual Studio的新“大”版本
  • 这也意味着您可以在MVC之外使用您想要的单个部件-例如,Web API可以在ASP.NET之外使用
  • 越来越多的组件在UI层和ASP.NET的其他部分之间共享。一些示例:路由与Web表单和Web页面共享,Razor与Web页面共享,新的OAuth部分与Web表单共享
您会注意到,在基本模板的项目中,您将获得以下包:

  • Microsoft.AspNet.Mvc
  • Microsoft.AspNet.Razor
  • Microsoft.AspNet.WebApi
  • Microsoft.AspNet.WebApi.Client
  • Microsoft.AspNet.WebApi.Core
  • Microsoft.AspNet.WebApi.WebHost
  • Microsoft.AspNet.webpage
  • Microsoft.Net.Http
  • Microsoft.Web.Infrastructure
  • Json
其中五个用于WebAPI,WebAPI已经高度组件化,允许开发人员在何处以及如何使用它们方面有很大的灵活性。如果希望最小化NuGet包,可以使用基本模板

随着您进入基本模板和Internet模板,您将看到更多支持项目提供的附加功能的软件包。Internet带来了几个开源的非Microsoft代码包,如OAuth和JavaScript库


有很多JavaScript包,这是一件非常好的事情,因为这意味着NuGet会自动为您处理JavaScript依赖关系-如果您想升级jQueryUI,而jQueryUI又需要新版本的jQuery,它会自动为您升级jQuery。

我很好奇,为什么有很多NuGet包是一个问题?你想解决什么问题?我没说有问题。我只是简单地安装了MVC4并创建了一个新项目,然后四处看看有什么不同。一个空项目有一页完整的包,而internet项目有三页完整的包。我只是想知道为什么会这样,因为我的MVC3项目最多使用五个包。我只是好奇。我问这个问题是因为它可能会影响你收到的回复。你觉得这样更好吗?但不确定……ASP.net已经公开表示,他们希望将尽可能多的框架组件化,这使得他们可以将带外版本发布到框架的特定部分,而无需发布完整补丁或小版本更新,即在MVC 4中移动到JSON.net的JSON框架可以独立于MVC或他们自己进行更新在不更新整个文件的情况下解决部分api中的错误/安全问题这也使开发人员的生活更轻松,因为他们只需在开发人员机器和服务器上更新一个包,而不必进行完整的mvc更新,我想这已经够公平的了。谢谢你提供的信息。关于ASP.NET网页2的网页数据、数据和管理?我知道ASP.NETWebPages2(Core)包含共享的MVC和WebForms功能,但这三个功能呢?它们是必需的还是更好的,它们具体包含什么?哦,对不起,我现在看到ASP.NET Web Helpers引入了它们,它们不在默认的基本模板中。这是否意味着我不再需要通过Web平台安装程序安装ASP.NET MVC4 framework?Visual Studio 2012包括MVC 4。如果您使用的是2010,我建议在大多数情况下使用WebPI。您可以使用空的web应用程序和NuGet软件包创建一个MVC4站点,但是您还需要摆弄web.config,您将无法完全支持VS对代码段等内容的支持。不同意将所有Javascript NuGet软件包塞进“空”MVC项目是一件好事。我不想等到jquery通过Nuget发布后再升级到最新的补丁级别,这可能要晚一年。我将自己更新它-它是一个单独的文件,Nuget只是挡路而已。。实际上,我讨厌在jquery、angular、bootstrap等应用程序中使用nuget包。我个人认为,在所有VisualStudio项目中包含这些包,然后将它们托管在不同的URL上是一种糟糕的设计。特别是在多站点/sso系统中。。。为什么人们让用户在浏览他们的生态系统时12次下载jquery副本?为什么他们没有内部CDN来保存用户数据计划(特别是在这个新的移动时代)。。。只是我的2美分,但只是在nuget包中塞满了一份又一份这样的资产。。坏鳕鱼