Asp.net mvc 4 MVC4最小参考值

Asp.net mvc 4 MVC4最小参考值,asp.net-mvc-4,Asp.net Mvc 4,因为一个新的MVC4互联网项目有不少于47个引用和29个nuget包。我想知道我最少能得到多少推荐信。我想选择我的Javascript和ORM解决方案。我基本上只想要基本的MVC框架。 我能摆脱什么? 要获得额外积分,我必须添加多少才能使WebApi正常工作?然后不要选择internet模板。相反,请选择空模板或基本模板。这就是他们在那里的目的 Internet模板需要它拥有的所有引用。如果要删除其中一些引用,则必须从模板中删除代码 然而,所有的模板似乎都包含了一些您可能不需要的包,如json.

因为一个新的MVC4互联网项目有不少于47个引用和29个nuget包。我想知道我最少能得到多少推荐信。我想选择我的Javascript和ORM解决方案。我基本上只想要基本的MVC框架。 我能摆脱什么?
要获得额外积分,我必须添加多少才能使WebApi正常工作?

然后不要选择internet模板。相反,请选择空模板或基本模板。这就是他们在那里的目的

Internet模板需要它拥有的所有引用。如果要删除其中一些引用,则必须从模板中删除代码

然而,所有的模板似乎都包含了一些您可能不需要的包,如json.net或WebApi,但如果您不需要它们,这些包可以被删除。

所以已经有一段时间了, 在更新2上,似乎有一个空模板仍然有大量未使用的引用,创建解决方案后,您可以安全地删除以下引用:

  • Microsoft.CSharp
  • Microsoft.Web.Infrastructure
  • Microsoft.Web.Mvc.FixedDisplayModes
  • Json
  • System.ComponentModel.DataAnnotations
  • 系统数据
  • System.Data.DataSetExtensions
  • 系统图
  • 系统企业服务
  • System.Net.Http.xml格式
  • System.Net.Http.WebRequest
  • System.Web.ApplicationServices
  • System.Web.dynamicATA
  • System.Web.Entity
  • System.Web.Extensions
  • System.Web.Helpers
  • System.Web.Razor
  • System.Web.Services
  • System.Web.WebPages.Deployment
  • Xml
  • System.Xml.Linq
从Nuget的角度来看,您可以删除所有包,除了(及其依赖项):

  • Microsoft.AspNet.WebApi
  • Microsoft.AspNet.Mvc

为了完整起见,我发现部署到IIS的ASP MVC应用程序(在我的例子中是7.5版)可以正常工作,以下是我发现的最基本的参考资料。也就是说,如果您只有这些引用,您的MVC应用程序将运行,如果您没有所有这些引用,它将不会运行。另外,请记住,我是从部署的角度讲的,而不是从本地开发web服务器的角度讲的。在没有所有这些引用的情况下在本地运行可能会起作用,但在部署到IIS时最终会失败

最低参考标准

REFERENCE                        COPY LOCAL*
---------                        -----------
Microsoft.Web.Infrastructure     true
System                           false
System.Web                       false
System.Web.Http                  false
System.Web.Mvc                   true
System.Web.WebPages              true
System.Web.WebPages.Deployment   true
System.Web.WebPages.Razor        true

*将这些引用添加到解决方案中时,将其“复制本地”设置为false。相应地设置上述引用的“复制本地”属性,以确保在生成项目时将DLL放入bin目录。这样,它们将被挑选出来进行部署。

我正在寻找更多的诊断答案,而不是使用不同的模板来解决相同的问题,但问题更少。@SaintGerbil-那么答案就是Internet模板需要所有的引用。如果您想删除引用,那么您还必须删除代码,例如AccountController(这是需要大多数引用的地方)。谢谢