c#-如何在大型代码库中组织外部库

只是想知道社区在一个大团队中使用数十种不同的解决方案时如何组织.net DLL库?

我特别好奇人们是否选择包含所有项目使用的所有外部DLL的“库”文件夹,以及人们是否版本化了DLL或只是在DLL的新发行版出现时才覆盖DLL,并希望下次重新编译的.NET解决方案

我也不清楚您是否可以简单地将DLL的不同版本放到文件夹中并让解决方案进行选择,或者.net是否强制您使用特定版本(请注意:我们不需要对任何程序集进行签名)

解决方法:

我的存储库中有一个专用文件夹,用于所有项目都可以引用的第三方库和DLL.

至于版本控制,我会逐案进行.对于一些不经常更新的库,或者我不打算将它们发布到最新版本的库,我只是将DLL放在了那里.
但是,对于经常更新的主要库,我通常采用以下模式:

<LibName>/Current/<LibName>.dll
<LibName>/v1.1/<LibName>.dll
<LibName>/v1.2/<LibName>.dll

大多数项目将仅引用“当前”文件夹中的dll.但是,如果有问题,则可以参考较旧的问题.这样做的好处是,如果发现问题,可以很容易地切换引用以查看它是否存在于较旧的版本中.

注意:如果一个项目依赖于另一个项目,则您需要在项目之间使用相同的版本,因此,如果可能的话,最好尝试使所有内容都使用最新版本.

上一篇:CodeGo.net> ILMerge的问题


下一篇:如何从动态加载的程序集中加载包含嵌套类型的泛型类型?