如何/在哪里为.NET DLL打包第三方库?

6

我正在构建一个依赖于其他库(例如log4net.dll)的.NET DLL类库,当打包我的DLL时,这些DLL应该放在哪里?有没有一种自动将它们包含在一个综合性DLL中的方法?或者我只需将所有DLL都放在一个bin文件夹中进行打包?

5个回答

8

假设您要发布二进制版本,请将它们与dll一起放在目录中(如果您需要发布源代码版本,则应该有一个“lib”目录包含所需的依赖项)。

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

我个人不建议尝试将类库与依赖项合并。


1
我实际上做了你在最后声明中说不要做的事情。用那个额外的源代码使我的项目变得非常混乱和令人困惑。所以,我刚刚将它们取消合并。 :) - Zack

5

在进行下一步之前,您需要先检查附加到其他DLL的EULA和其他许可证。有些可能会限制DLL库的再分发方式。假设没有问题,您可以将它们全部编译为一个大型DLL,或者创建一个安装程序(或简单的zip文件),以将所有相关DLL安装在其预定目标位置。


0
在您的解决方案树中,创建一个名为“src”的文件夹,用于存放所有源代码,另外再创建一个名为“lib”的文件夹,用于存放诸如log4net、自制dll库和其他任何库等。

0

0

不确定您如何部署解决方案,但不要忘记为了签名您的类库,您需要签名您的第三方.dll文件。这可能会要求您合并所有引用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接