0

我最近遇到了Nuget 包恢复扩展,它使开发人员实际上不会将 DLL/库签入到 TFS,而另一个开发人员将能够在构建之前获得相同的结果。这就是我们一直在寻找的,特别是当我们使用外部 DLL 并因此决定使用它时。

我安装了 Nuget Package restore,右键单击解决方案资源管理器窗口中的解决方案节点并单击Enable Nuget Package restore

我观察到的变化:

  1. .nu​​get 文件夹,包含 3 个文件 - NuGet.config、NuGet.exe、NuGet.targets。
  2. 只修改了一个项目文件。(根据此链接,应修改每个项目文件以导入 NuGet.targets MsBuild 任务)。但是,就我而言,仅修改了一个项目文件。这个对吗?我猜不是。

测试:

  1. 我删除了从不同项目运行解决方案所需的几个 DLL。NuGet 在安装过程中修改的项目中下载了所需的 DLL,并将其放在 Packages 文件夹下。对于其他项目,未下载缺少的 DLL。

我期待所有丢失的 DLL 都会被下载。我对么?

有什么我在这里遗漏或做错了吗?

注意:我在Options -> Package Manager -> General下勾选了“Allow Nuget to download missing packages during Build”

4

1 回答 1

0

不要使用“启用包还原”。从 NuGet 2.7 开始,该功能已被弃用。它非常有问题,并且在某些情况下往往不起作用。

实际上,在您链接的文档的顶部,它说使用“​​自动包还原”。

你可以在这里阅读:http: //docs.nuget.org/docs/reference/package-restore

您可以使用此处的说明迁移到自动包还原:http: //docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore

于 2014-09-16T12:55:39.550 回答