Nuget恢复依赖项目

 2021-04-26 

Nuget restore for dependent projects

我在多个解决方案和不同目录级别中添加了多个项目。我使用packages.config维护依赖项列表。
在通过命令行对解决方案进行nuget还原时,将packages文件夹与解决方案文件创建在同一目录中,并下载所有依赖项。现在添加了一些项目作为参考,这些项目也出现在其他解决方案中。因此项目引用了不同的包文件夹。在还原时,仅会创建1个packages文件夹,因此某些项目引用了其他位置的软件包,因此不会还原其软件包。

有什么办法可以在不同目录的多个包文件夹中获取所有依赖项吗?


您可以使用repositoryPath创建一个覆盖默认行为的NuGet.Config文件。

1
2
3
4
5
<configuration>
    <config>
       
    </config>
</configuration>

该路径是相对于NuGet.Config文件所在目录的位置。

请注意,NuGet.Config文件的位置应位于解决方案相同或上方的目录中。尽管您可以有多个NuGet.Config文件,但在解决方案的根目录中保存一个文件可能会更简单。例如:

  • /您的/项目/测试/NuGet.Config
  • /您的/项目/测试/MySolution.sln
  • /您/项目/测试/另一个/MySolution2.sln

还请注意,您将需要在项目中重新安装NuGet软件包,或至少修复参考路径,因为它们现在将使用其他软件包目录,并且将不正确。