asp.net-mvc – 为什么visual studio 2012会在mvc项目中自动使用
我很了解Visual Studio 2010,当我开始使用Visual Studio 2012时,我注意到它自动使用Nuget,我之前没有使用过,我只知道它是一个从Internet上获取库的包管理器.例如,当我创建一个空的ASP.NET MVC 4项目时,该项目将包含一个包含11个条目的packages.config文件,并且解决方案文件夹下将有一个包含11个库的packages目录.
以下是我没有得到的东西. 第一个可能是一个修辞问题,但为什么呢?即使一个空项目包含10 MB的包,即使我不使用任何包,它看起来也很傻. 例如,包下有一个System.Web.Mvc.dll.但它也在我的GAC中,它是我认为的.NET框架中不可或缺的一部分.两者都是完全相同的版本(4.0.20710.0),但文件不同.为什么我的项目使用Nuget而不是.NET / GAC的DLL?为什么文件不同?如果我将我的项目部署到IIS服务器,也会有这个DLL的副本,因此将这些DLL作为项目的一部分似乎完全没用.更不用说它使我的部署包变得臃肿. 顺便说一句臃肿.有一个对Newtonsoft.Json.4.5.11的引用,它本身就是8 MB,因为它包含.NET 2,3.5,4,Silverlight以及同一个版本的任何版本,总共9个.当我创建我的项目时,我指定我想使用.NET 4.5,所以我很困惑为什么所有这些东西都在我的硬盘上. 最后,这个Nuget是如何与我的项目或解决方案相关的?我在VS中看不到packages文件夹,我在.sln文件中看不到它的任何提及.该项目确实包含文件packages.config,但它与构建过程无关,它看起来像是自重.我问这个是因为如果有一些对Nuget的引用,我可以轻松删除它,但是没有引用,所以我感到困惑. 解决方法
我完全同意你的看法.默认的项目模板是膨胀的,有很多垃圾. 这就是为什么我在启动新应用程序时总是使用Empty ASP.NET应用程序模板的原因.然后我在解决方案上启用NuGet包恢复并手动安装我需要的所有包 – > ASP.NET MVC,Razor,……
不,它不是.NET的一部分.它是Visual Studio的一部分,还有一个单独的安装.如果未安装ASP.NET MVC,则在服务器上将不会有此类程序集.
它是在您的应用程序源代码所在的机器上下载的NuGet包的一部分,但是当您发布应用程序时,只会部署和使用正确的版本.
下载这些包的NuGet源在Tools-> Library Package Manager-> Package Manager Settings / Package Sources中配置.如此基础 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 使用json仅序列化对象的一部分
- ASP.NET导航到后面的代码锚点
- asp.net – 当通过文件上传控件上传文件时,在c#.net中重命名
- asp.net – 公共访问本地IIS服务器
- Task.Factory.StartNew在ASP.Net MVC中有帮助或有害吗?
- asp.net-core – 如何在ASP.NET Core 2.0中实现machineKey
- asp.net-web-api – asp.net webapi 2属性路由不工作
- asp.net-mvc – 在EF5迁移中将字段定义为自动增量
- asp.net – IIS和线程
- 为什么在asp.net中使用自定义404页面时,不存在的页面返回30
- views – 我应该在asp.net MVC6中为我的所有图像
- Asp.Net System.Web.Routing查找实际的.aspx页面
- ASP.NET MVC 4和ExtensionlessUrlHandler
- asp.net-mvc – Fluent Validation,Domain和View
- ASP.NET MVC之如何看待内置配置来提高性能优化(四
- asp.net-mvc – ASP.NET MVC文件名下划线
- 使用ASP.Net MVC3中的jQuery动态填充下拉列表
- 禁用asp.net缓存
- asp.net-mvc – ASP.NET MVC Gotcha?失意
- asp.net – 向GridView添加默认排序箭头