由于一个新的 MVC 4 Internet 项目有不少于 47 个引用和 29 个 nuget 包。我想知道我能逃脱的最少引用数量是多少。我想选择我的 Javascript 和 ORM 解决方案。我基本上只想要准系统 MVC 框架。我能摆脱什么?对于奖励积分,我必须添加多少才能让 WebApi 正常工作?
3 回答
只是为了完整起见,这里是我发现部署到 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 。相应地为上面的引用设置 Copy Local 属性,以确保在构建项目时将 DLL 放入 bin 目录中。这样,它们将被拾取进行部署。
So its been a while, On update 2 there seems to be a empty template which still has a load of unused references, Once you have created the solution you can safely remove the following references:
- Microsoft.CSharp
- Microsoft.Web.Infrastructure
- Microsoft.Web.Mvc.FixedDisplayModes
- Newtonsoft.Json
- System.ComponentModel.DataAnnotations
- System.Data
- System.Data.DataSetExtensions
- System.Drawing
- System.EnterpriseServices
- System.Net.Http.Formatting
- System.Net.Http.WebRequest
- System.Web.ApplicationServices
- System.Web.DynamicData
- System.Web.Entity
- System.Web.Extensions
- System.Web.Helpers
- System.Web.Razor
- System.Web.Services
- System.Web.WebPages.Deployment
- System.Xml
- System.Xml.Linq
and from a Nuget point of view you can remove all of the packages except (and their dependencies) :
- Microsoft.AspNet.WebApi
- Microsoft.AspNet.Mvc
然后不要选择互联网模板。相反,请选择空模板或基本模板。这就是他们的目的。
Internet 模板需要它拥有的所有引用。如果要删除其中一些引用,则必须从模板中删除代码。
但是,所有模板似乎都包含一些您可能不需要的包,例如 json.net 或 WebApi,但如果您不需要它们,可以将其删除。