.net core 如何防止nuget在Visual Studio 2017中打开解决方案后冗余恢复包

.net core 如何防止nuget在Visual Studio 2017中打开解决方案后冗余恢复包,.net-core,visual-studio-2017,nuget,.net Core,Visual Studio 2017,Nuget,每次我在Visual Studio 2017中打开一个使用Net.Core SDK的解决方案时,它都会还原包。它总是发生,即使我关闭解决方案并再次打开它 为什么它不在本地跟踪机器上存在哪些nuget包 我是否可以使它的行为更具逻辑性,并首先在本地检查它是否存在包,并且仅在找不到包时才恢复它 问题:如何防止nuget在Visual Studio 2017中打开解决方案后冗余恢复包 目前无法明确禁用自动还原。有关更多详细信息,请查看以下线程: 您在那里看到的还原是自动还原,它只会运行 基于SDK的

每次我在Visual Studio 2017中打开一个使用Net.Core SDK的解决方案时,它都会还原包。它总是发生,即使我关闭解决方案并再次打开它

为什么它不在本地跟踪机器上存在哪些nuget包

我是否可以使它的行为更具逻辑性,并首先在本地检查它是否存在包,并且仅在找不到包时才恢复它

问题:如何防止nuget在Visual Studio 2017中打开解决方案后冗余恢复包

目前无法明确禁用自动还原。有关更多详细信息,请查看以下线程:

您在那里看到的还原是自动还原,它只会运行 基于SDK的项目。

目前没有明确禁用自动还原的方法,但是 可以禁用恢复本身。请注意,这将禁用所有恢复 (在生成/重建和解决方案时右键单击恢复)

此外,您不需要禁用它,请检查以下另一个原因:

问题:我能让它更具逻辑性并首先在本地检查它吗 仅在无法恢复包时才恢复包的存在 找到了

nuget现在所做的正是你想要它做的。检查:

:

默认情况下,NuGet还原操作使用来自 全局包和http缓存文件夹

因此,打开解决方案时看到的恢复只是检查全局包中是否存在包,如果不存在,则nuget开始恢复包。如果存在包,nuget不会执行还原操作。而且检查时间很短,大约几十分钟。你不必太担心

希望这有帮助

问题:如何防止nuget在Visual Studio 2017中打开解决方案后冗余恢复包

目前无法明确禁用自动还原。有关更多详细信息,请查看以下线程:

您在那里看到的还原是自动还原,它只会运行 基于SDK的项目。

目前没有明确禁用自动还原的方法,但是 可以禁用恢复本身。请注意,这将禁用所有恢复 (在生成/重建和解决方案时右键单击恢复)

此外,您不需要禁用它,请检查以下另一个原因:

问题:我能让它更具逻辑性并首先在本地检查它吗 仅在无法恢复包时才恢复包的存在 找到了

nuget现在所做的正是你想要它做的。检查:

:

默认情况下,NuGet还原操作使用来自 全局包和http缓存文件夹

因此,打开解决方案时看到的恢复只是检查全局包中是否存在包,如果不存在,则nuget开始恢复包。如果存在包,nuget不会执行还原操作。而且检查时间很短,大约几十分钟。你不必太担心


希望这能有所帮助。

奇怪的事情-我在家里开发了一个解决方案,然后打包,在工作时解包-我看到文件夹中的所有包。但它开始检查或恢复包。看起来在同一台计算机上重新打开解决方案所需的时间更长。第一次用了36秒,解包并打开同一个解决方案后用了10秒。如果我只是重新打开这个解决方案,需要430毫秒。第三次——我解压了zip存档并打开了解决方案——它在2272毫秒内恢复了包。所以它可能会检查全局缓存。但我不知道,也许过了一段时间它会试图恢复它。因为我昨天开发了它,压缩它,在家里打开它,做了一些工作——没有添加任何新的包。第二天我让它开始工作,用了38秒才恢复。我发现了为什么会发生这种情况——http缓存的过期时间为30分钟。http‑缓存Visual Studio软件包管理器(NuGet 3.x+)和dotnet工具将下载的软件包的副本存储在此缓存中(另存为.dat文件),并组织到每个软件包源的子文件夹中。包不会展开,缓存的过期时间为30分钟。Windows:%localappdata%\NuGet\v3 cache Mac/Linux:~/.local/share/NuGet/v3 cache Override使用NuGet\u HTTP\u cache\u PATH环境变量。现在,我将解决方案解压缩到文件夹中并打开它。结果:经过的时间:00:00:26.4429320============================您能解释一下为什么它的恢复时间是26秒而不是毫秒吗?@Maxim T,我所说的
大约十毫秒
是默认时间,而不是所有情况下的默认时间。时间受许多因素影响,例如,项目数量、安装的软件包、计算机性能。。。等等您可以尝试在新解决方案中创建一个默认的空白.net core项目,当您关闭并重新打开该解决方案时,只需
大约几十毫秒
。此外,如果你移动了解决方案或对nuget软件包做了一些事情,那么检查它将需要更多的时间。奇怪的是,我在家开发了一个解决方案,然后打包,在工作中解包——我看到文件夹中的所有软件包。但它开始检查或恢复包。看起来在同一台计算机上重新打开解决方案所需的时间更长。第一次用了36秒,解包并打开同一个解决方案后用了10秒。如果我只是重新打开这个解决方案,需要430毫秒。第三次——我解压了zip存档并打开了解决方案——它在2272毫秒内恢复了包。所以它可能会检查全局缓存。但我不知道,也许过一段时间就不会了