我正在做代码审查。我们已经开始使用 Nuget 来导入 3rd 方库,例如 Enterprise Library。
以前,我们在解决方案中的所有项目都可以访问的共享上拥有企业库的 dll。当它更新时,它已针对所有项目进行了更新。
现在它由 packages.config 控制,它是每个项目的一个文件。更改将意味着更改多个文件,有可能并非所有应该更新的文件都已更新。
有没有办法跨项目共享 packages.config,或者能够同时更新所有 packages.config 的方法?
我正在做代码审查。我们已经开始使用 Nuget 来导入 3rd 方库,例如 Enterprise Library。
以前,我们在解决方案中的所有项目都可以访问的共享上拥有企业库的 dll。当它更新时,它已针对所有项目进行了更新。
现在它由 packages.config 控制,它是每个项目的一个文件。更改将意味着更改多个文件,有可能并非所有应该更新的文件都已更新。
有没有办法跨项目共享 packages.config,或者能够同时更新所有 packages.config 的方法?
为了同时更新所有项目中的包,您可以在解决方案级别启动“管理 NuGet 包”对话框(右键单击解决方案)。
既然您正在进行代码审查,请允许我这样说:强制对其消费者进行包更新通常不是一个好习惯。
在解决方案级别更新包是确保您也将更新 packages.config 文件的唯一方法(NuGet.exe 更新不会更改这些文件)。
packages.config 文件是与项目相关的,只有在项目使用的所有包完全相同的情况下才能共享。在项目中添加链接,更新 repositories.config 以指向共享的 packages.config,并希望最好(不确定 NuGet 是否检查 packages.config 是否物理存在于项目目录中。
如您所见,这种情况不是主流,因此没有以最佳方式支持。