我正在构建一个.NET DLL类库,它依赖于其他库,例如log4net.dll - 在打包我的DLL时,我应该把这些DLL放在哪里?有没有办法自动将它们包含在一个超级DLL中?我应该只将所有DLL发送到一个bin文件夹中吗?
答案 0 :(得分:7)
只需将它们全部发送到您的dll目录中(假设您正在讨论二进制发行版 - 在源代码发布中我会有一个包含您的依赖项的“lib”目录)。
不要忘记检查是否需要提供许可证,获取来源的指示等。
我不想尝试将您的类库与依赖项合并,个人。
答案 1 :(得分:5)
您需要首先检查附加到其他DLL的EULA和其他许可证。有些人可能会限制他们的DLL库的重新分配方式。假设没有问题,你可以将它们全部编译为一个大的DLL,或者创建一个安装程序(或一个简单的zip文件),将所有相关的DLL安装在它们的预定目的地。
答案 2 :(得分:0)
在您的解决方案树中,为您的所有源代码创建一个名为'src'的文件夹,为log4net,您自己的dll库和任何其他库创建一个名为'lib'的文件夹。
答案 3 :(得分:0)
你应该看看ILMerge。我链接了一个显示ILMerge
用法的博客Leveraging ILMerge to simplify deployment and your users experience
答案 4 :(得分:0)
不确定如何部署解决方案,但不要忘记,为了签署您的类库,您需要签署第三方.dll。仅此一项可能需要您合并所有参考文献。