如何管理多次使用的Nuget包

本文关键字:Nuget 何管理 管理 | 更新日期: 2023-09-27 18:17:00

我是一个恐龙开发人员,所以NuGet对我来说相对较新,我习惯于管理第三方开源库,这些库有一个带有代码或二进制文件的项目,我将在必要时保持更新,这个项目在一个公共文件夹上发布dll(s),我从那里引用所有项目中的库。这使得维护第三方库变得容易,在我的项目中,当我更新库时,我只需要重新构建,一切正常。现在,许多开源项目在NuGet上发布了它们的库,并且在项目中很容易引用它们,但是我担心我必须为我使用它的每个项目下载库的副本,在我看来,这可能会导致混乱。特别是如果我有两个项目,它们构建的dll最终使用了相同包的两个不同版本,并且在一个有问题和冲突的应用程序中同时使用。所以我想问那些使用NuGet时间较长的人:我是否可以像使用其他库一样使用NuGet包并创建一个引用它们的项目,使用它将dll发布到单个文件夹中,然后从发布文件夹中的dll和应用程序中引用包的dll ?

我希望我已经说清楚了。感谢你对这个话题的任何想法塞布丽娜

如何管理多次使用的Nuget包

将所有项目的第三方库放在一个文件夹中可能会导致dll版本地狱。如果你更新了一个包含破坏性更改的dll,并且它被其他项目引用,那么你将修复/重建所有引用它的项目。

要解决为每个项目下载相同包的问题,您可以创建本地存储库并配置Visual Studio以使用本地存储库。因此,如果本地存储库包含log4net的单个版本,则只能使用该特定版本。甚至,您还可以将存储库配置为使用共享文件夹,在这种情况下,所有开发人员甚至构建服务器都可以使用该存储库。

使用NuGet有很多优点,比如在硬盘和其他地方节省大量空间。例如,我为我们的内部框架创建了NuGet包,所以我们所有的项目都只是引用这些包,而不是每个项目在其bin文件夹中有自己的版本。