繁体   English   中英

一个库中的.NET多类库

[英].NET Multiple Class Library in One Library

我正在VS2008中工作。 我有一个自定义类库(CL1),它引用了另一个自定义类库(CL2)。 最终在我的发布文件夹中包含CL1和CL2。 现在,CL1的使用者需要在项目中包含两个我认为不合适的dll。 我强烈认为必须有一种方法来实现单个DLL解决方案。 有没有推荐的方法(准则-d)来实现这一目标?

不能合并CL1和CL2,因为CL2更常见,并且在多个其他项目/ dll中也有引用。 我是否缺少一些简单的选择? 还是我需要将CL2嵌入为资源? 怎么样? 用Google搜索了网络,但找不到任何地方讨论过的问题。

是的,您可以在使用ILmerge发布产品之前手动进行操作。 可以在codeprojectBrad McCabe的博客上找到更多详细信息。

可以将CL2的源代码作为链接文件包含在CL1项目中,并以此方式避免要求用户包括多个引用。 我认为这是一个坏主意。

如果您的类设计确实需要将您的类拆分为多个程序集,并且CL1需要引用CL2,那么对于用户来说,引用多个程序集就非常合适-尤其是因为您说过,这些程序集具有不同的用途。

如果用户仅使用CL1中的类,则他们将不需要添加多个程序集作为引用。 但是,如果CL1引用CL2,即使对CL2的引用不明确,CL2也将始终与CL1一起复制。

好吧,您可以将CL2嵌入到CL1中,并在需要时使用AssemblyResolve事件将其提取,因为我真的不建议您采用这种方式。 我会说,在发行版中仅包含DLL,这是分发它的正常方式。

我相信这个问题可能会为您提供所需的答案:

如何静态链接.DLL?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM