.Net核心和NuGet

我从这个网站安装.net核心 。 玩它导致了一些相关的包pipe理问题:

  1. dotnet restore命令继续“安装”.net核心NuGet包。 这些软件包在哪里“安装”? 没有创build一个新的文件夹。
  2. dotnet restore为“hello world”最小的例子需要大约一百个NuGet包,其中99%可能与“hello world”应用程序无关。 诚然,一个.net本地生成将删除所有不需要的 – 但我希望restore也可以抓住很less(三个或四个包,而不是一百)。 为什么这种行为?
  3. 我创build了第二个“hello world”项目,并再次运行dotnet restore 。 这一次没有安装任何软件包。 看来所有安装的软件包都是第一次进入全球某个位置共享。 我以为.net核心没有这样的工作。 我以为.NET核心项目在本地保留了所有的依赖关系。 我唯一的目标是dnxcore50 。 为什么这种行为?
  4. 我想“卸载”所有这些全局包,然后重试(仅用于学习目的)。 这怎么可能完成? 请记住,如问题#1所述,我不知道所有这些文件的安装位置。
  5. 几乎所有通过restore命令安装的软件包都被列为beta版本。 奇。 我以为.NET核心是在RC1,而不是testing版。 被这个迷惑了。 为什么这种行为?

我也很好奇什么文件可以/将会向我解释这一切。 我试着对这些问题进行search,并没有发现任何东西(可能只是可怕的google-fu?)。

更新:

  1. Nuget软件包安装在全球的位置。 默认情况下,它曾经是.. \ Users \ [YourUserFolder] \ .dnx \ packages,但是它似乎已经变成.. \ Users \ [YourUserFolder] \。nuget \ packages

在NuGet 3+中,您可以使用NuGet CLI的以下命令获取全局包文件夹的位置

 nuget locals global-packages -list 

查看下面的链接了解更多关于NuGet的细节


  1. 默认的ASP.Net模板有这么多的包。 由于你第一次尝试,它试图得到所有这些100包

  2. 你已经在你的nuget全球位置有这些软件包,它跳过了恢复。

  3. 删除包文件夹下的所有内容(1中指示的位置)

  4. 一些testing包在那里。 你可以去project.json文件(在web根目录下),并使用dependencies部分。

我刚刚发现.NET核心项目中使用的NuGet包还有另一个位置。 它位于:

C:\Users\[User]\.nuget\packages

我认为这个位置包含常规的.NET Framework包。

更新:感谢brappleye3,这里是关于dotnet恢复的文档的链接 。