我应该如何在开源项目中包含外部库?

sea*_*ean 5 c# open-source

我创建了一个从 Visual Studio 运行的开源项目。但它也依赖于一些外部库来工作。这些库也是开源的。我想知道的问题是我是否应该

  1. 将用户引导至这些库并让他们下载源代码,然后将其添加到项目中
  2. 将用户指向 dll 并让他们直接引用它
  3. 将dll直接包含到项目中
  4. 将这些库的源代码直接包含到项目中

哪种方法是最好的方法或标准方法?

mac*_*kow 3

有些准则并非特定于开源,但我认为它们适用。

我总是在源代码管理中包含所有外部库的二进制文件(除了 System.dll 等标准库)。这样,查看源代码的人就可以立即构建项目。此外,我可以轻松切换到旧版本的项目,并立即在用于构建该修订版本的版本中具有依赖关系 - 这在调试旧版本的软件时特别有用。