【发布时间】:2013-10-08 04:47:23
【问题描述】:
因为一个新的 MVC 4 Internet 项目有不少于 47 个引用和 29 个 nuget 包。我想知道我能逃脱的最少引用数量是多少。我想选择我的 Javascript 和 ORM 解决方案。我基本上只想要准系统 MVC 框架。 我能摆脱什么? 对于奖励积分,我必须添加多少才能让 WebApi 正常工作?
【问题讨论】:
标签: asp.net-mvc-4
因为一个新的 MVC 4 Internet 项目有不少于 47 个引用和 29 个 nuget 包。我想知道我能逃脱的最少引用数量是多少。我想选择我的 Javascript 和 ORM 解决方案。我基本上只想要准系统 MVC 框架。 我能摆脱什么? 对于奖励积分,我必须添加多少才能让 WebApi 正常工作?
【问题讨论】:
标签: asp.net-mvc-4
为了完整起见,这里是我发现部署到 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
当这些引用添加到您的解决方案时,*Copy Local 设置为 false。相应地为上面的引用设置 Copy Local 属性,以确保在构建项目时将 DLL 放入 bin 目录中。这样,它们就会被挑选出来进行部署。
【讨论】:
所以已经有一段时间了, 在更新 2 中,似乎有一个空模板,其中仍有大量未使用的引用,创建解决方案后,您可以安全地删除以下引用:
从 Nuget 的角度来看,您可以删除除(及其依赖项)之外的所有包:
【讨论】:
那么不要选择互联网模板。相反,请选择空模板或基本模板。这就是他们的目的。
Internet 模板需要它拥有的所有引用。如果你想删除其中的一些引用,你必须从模板中删除代码。
然而,所有模板似乎都包含一些您可能不需要的包,例如 json.net 或 WebApi,但如果您不需要它们,可以将其删除。
【讨论】: