我们的项目有很多外部 DLL,大部分但不是全部都是 3rd 方 DLL。
目前我们的项目中没有这些 DLL。它们包含在 SVN 中,并为我们的构建输出目录提供了路径。因此,在构建我们的项目之后,由于 SVN,必要的文件就在那里,但项目本身并不知道它们。
我的感觉是,我们应该在项目的根目录下有一个文件夹,命名为 Dependancies 或 ThirdParty,其中包含所有 DLL,并将它们的构建事件设置为复制到输出目录。它们也将存在于 SVN 中,但与项目具有相同的结构,而不是在构建输出目录中。
项目本身仅引用这些称为 CommunicationProc.DLL 的 DLL 之一。CommunicationProc.DLL 然后引用所有其他 DLL。我们有许多 DLL 来支持不同类型的无线电。因此,并非所有的 DLL 都会被使用,但根据无线电类型,可以使用其中的任何一个。
至于DLL是否应该包含在项目中,我们内部有不同的意见,一些团队认为它们应该只在SVN中,而不是项目本身的一部分。
值得注意的是,这不是 .NET DLL,大多数是旧的 C DLL。
公认的做法是什么?有人可以以一种或另一种方式为我提供一个令人信服的论点,关于是将它们包含在项目中还是仅包含在 SVN 中?