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

时间:2015-07-15 03:19:46

标签: nuget nuget-package nuget-package-restore

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

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

注意,我不是在谈论克隆存储库。在这种情况下,Nuget包恢复可以很好地工作。但是,如果我将Packages.config内容复制到新解决方案的Packages.config中,Nuget包还原不会关闭该配置文件中列出的包。

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

1 个答案:

答案 0 :(得分:7)

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

但是,您可以使用Visual Studio执行的操作是:

  1. 使用其中的packages.config文件打开项目
  2. 打开程序包管理器控制台
  3. 单击Package Manager控制台窗口顶部显示的“还原”按钮,将文件下载到packages目录中。
  4. 在程序包管理器控制台窗口中运行命令NuGet.exe install packages.config
  5. 步骤4.将导致Visual Studio和NuGet将引用添加回项目。 update-package -reinstall命令卸载然后将NuGet包安装回项目中,保留packages.config文件中指定的版本。