加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 为什么visual studio 2012会在mvc项目中自动使用

发布时间:2020-12-16 07:00:59 所属栏目:asp.Net 来源:网络整理
导读:我很了解Visual Studio 2010,当我开始使用Visual Studio 2012时,我注意到它自动使用Nuget,我之前没有使用过,我只知道它是一个从Internet上获取库的包管理器.例如,当我创建一个空的ASP.NET MVC 4项目时,该项目将包含一个包含11个条目的packages.config文件,并
我很了解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的引用,我可以轻松删除它,但是没有引用,所以我感到困惑.

解决方法

The first may be a rhetorical question,but why? Even an empty project
contains 10+ MB of packages,even if I don’t use any,it seems very
silly.

我完全同意你的看法.默认的项目模板是膨胀的,有很多垃圾.

这就是为什么我在启动新应用程序时总是使用Empty ASP.NET应用程序模板的原因.然后我在解决方案上启用NuGet包恢复并手动安装我需要的所有包 – > ASP.NET MVC,Razor,……

There is,for example,a System.Web.Mvc.dll under packages. But it is
also in my GAC,it’s an integral part of the .NET framework I think.

不,它不是.NET的一部分.它是Visual Studio的一部分,还有一个单独的安装.如果未安装ASP.NET MVC,则在服务器上将不会有此类程序集.

There is a reference to Newtonsoft.Json.4.5.11,which is 8+ MB in
itself,because it contains .NET 2,Silverlight and whatever
versions of the same thing,9 in total. When I create my project,I
specify that I want to use .NET 4.5,so I’m very confused why all that
stuff is on my hard drive at all.

它是在您的应用程序源代码所在的机器上下载的NuGet包的一部分,但是当您发布应用程序时,只会部署和使用正确的版本.

Finally,how is this Nuget thing related to my project or solution? I
cannot see the packages folder in VS,I cannot see any mention of it
in the .sln file.

下载这些包的NuGet源在Tools-> Library Package Manager-> Package Manager Settings / Package Sources中配置.如此基础

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读