Nuget 为什么不是';我的.NET核心解决方案&x27;它包含文件夹吗?

Nuget 为什么不是';我的.NET核心解决方案&x27;它包含文件夹吗?,nuget,.net-core,nuget-package-restore,Nuget,.net Core,Nuget Package Restore,包现在是否缓存在更共享的位置 “我的解决方案”文件夹中没有任何包文件夹: 您的.NET核心解决方案中仍然有软件包文件夹,但全局软件包位于:C:\Users\[YourUsername]\.nuget\packages您可以查看我问的一个问题,看看答案是否对您有帮助 您可以取回packages文件夹,但您可能对结果不满意,因为.Net核心项目依赖于太多NuGet软件包。我的手机在1GB左右 每个项目:引用->Nuget指定引用和还原哪些包。但是,正如Eastroll所提到的,packages文件

包现在是否缓存在更共享的位置

“我的解决方案”文件夹中没有任何
文件夹:


您的.NET核心解决方案中仍然有
软件包
文件夹,但全局软件包位于:
C:\Users\[YourUsername]\.nuget\packages

您可以查看我问的一个问题,看看答案是否对您有帮助

您可以取回packages文件夹,但您可能对结果不满意,因为.Net核心项目依赖于太多NuGet软件包。我的手机在1GB左右


每个项目:引用->Nuget指定引用和还原哪些包。但是,正如Eastroll所提到的,packages文件夹现在是全局的,位于您的用户文件夹中:
C:\Users\[YourUsername]\.nuget\packages

强制使用/packages文件夹进行解决 要强制下载包文件夹成为.NET核心项目解决方案文件夹的子文件夹,请执行以下步骤:

  • 在与
    .sln
    文件相同的目录中创建
    NuGet.Config
    文件

  • 将以下内容复制到
    NuGet.Config
    文件中:


  • 哦,在我添加了更多信息以使我的问题更清楚之后,我曾经如此讽刺地想知道那次否决票是为了什么。微软再次做出了如此糟糕的架构决定——我们回到了GAC:(-与容器方法不同……这确实是一种有趣的方法。没有GAC那么糟糕,它的想法是您的PC/用户可以缓存跨多个项目和解决方案引用的包集合。这是一种节省存储的增强功能。如果您在多个项目中工作,它实际上很有用。没有“运行时解决方案”,他们只是在用户级别将包文件夹合并到一个包文件夹中。1.减少nuget服务器上的负载。2.减少本地空间消耗。3.生成时优化-不将任何nuget复制到bin文件夹。@GeorgeAnisimov Dev和prod不会有什么不同,只要您在生成服务器上使用“--self-contain true”和dotnet publish。我这样做是创建部署包的一部分。如果需要从包文件夹复制某些内容(可能是构建活动),最好将这些内容与sln相关。在这种情况下,@CJBS会工作得更好。我还有一点工作-必须添加nuget.org api address“protocolVersion=”3“/>
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <config>
        <add key="globalPackagesFolder" value=".\packages" />
      </config>
    </configuration>
    
    PM> nuget config -set globalPackagesFolder=.\packages -configfile "$(pwd)\NuGet.Config"