6

我正在构建一个 .NET DLL 类库,它依赖于其他库,例如 log4net.dll - 打包我的 DLL 时我应该把这些 DLL 放在哪里?有没有办法自动将它们包含在一个超级 DLL 中?我应该将所有 DLL 都放在一个 bin 文件夹中吗?

4

5 回答 5

8

只需将它们全部发送到您的 dll 目录中(假设您正在谈论二进制分发 - 在源代码分发中,我将有一个包含您的依赖项的“lib”目录)。

不要忘记检查您是否还需要提供许可证、获取来源的说明等。

我个人不会试图尝试将您的类库与依赖项合并。

于 2009-08-12T17:17:31.267 回答
5

您需要首先检查附加到其他 DLL 的 EULA 和其他许可证。有些人可能会限制其 DLL 库的重新分发方式。假设没有问题,您可以将它们全部编译为一个大 DLL,或者创建一个安装程序(或一个简单的 zip 文件),将所有关联的 DLL 安装到它们的预期目标。

于 2009-08-12T17:14:53.113 回答
0

在您的解决方案树中,为所有 yoru 源代码创建一个名为“src”的文件夹,为 log4net、您自制的 dll 库和任何其他库等库创建一个名为“lib”的文件夹。

于 2009-08-12T17:14:42.567 回答
0

你应该看看ILMerge。我链接了一个显示 ILMerge 用法的博客

利用 ILMerge 简化部署和您的用户体验

于 2009-08-12T17:28:34.507 回答
0

不确定如何部署您的解决方案,但不要忘记,为了签署您的类库,您需要签署您的第 3 方 .dll。仅此一项就可能需要您合并所有参考文献。

于 2009-08-12T17:35:41.310 回答