在一个项目中使用 Packages.config 的内容在新项目中加载 Nuget 包

Use Contents of Packages.config in One Project to Load Nuget Packages in a New Project

我有一种情况想创建一个新项目(在新解决方案中),该项目将具有与现有项目完全相同的 Nuget 包。

如果可能的话,我想找到一种方法来利用现有项目中的 Packages.config 文件将这些包下载到新解决方案中。这个想法是,为了让我不必为每个我想安装的软件包 运行 安装软件包等。

请注意,我不是在谈论克隆存储库。 Nuget 包还原在那种情况下效果很好。但是,如果我将 Packages.config 内容复制到新解决方案的 Packages.config 中,Nuget 包还原不会降低该配置文件中列出的包。

那么,是否有任何命令或一些命令可以让我运行查看配置文件并继续加载这些包?

packages.config 文件指定已安装到项目中的 NuGet 包。如果您使用 NuGet.exe restore solution.slnNuGet.exe install packages.config,那么将会发生的只是下载 .nupkg 文件。您的项目将不会被修改,因此如果它缺少对 NuGet 包中程序集的引用,它之后仍然会缺少它们。

然而,您可以用 Visual Studio 做的是:

  1. 打开其中包含 packages.config 文件的项目
  2. 打开程序包管理器控制台
  3. 单击显示在包管理器控制台顶部的恢复按钮window将文件下载到包目录中。
  4. 运行 程序包管理器控制台中的命令 update-package -reinstall window。

第 4 步将导致 Visual Studio 和 NuGet 将引用添加回您的项目。 Update-Package -reinstall 命令卸载 NuGet 包,然后将其安装回项目,保持 packages.config 文件中指定的版本。