我有一个项目引用了两个其他的dll文件。 编译完这个项目后,我想把项目的dll文件交给另外的开发人员。 但是我不想也不需要将所有被引用的dll文件都交给他们。 我希望所有被引用的dll文件都包含在单个项目的dll文件中。 这种做法可行吗?
通过将它们合并为单个程序集,您可以实现此目标。可以使用ILMerge来完成此操作,可以在此处下载:https://www.microsoft.com/en-us/download/details.aspx?id=17630 这里提供了详细的文档:http://research.microsoft.com/en-us/people/mbarnett/ilmerge.doc
Fody Costura 可能更容易(且更安全)集成(它将引用的dll作为资源嵌入到您的dll中,并在需要时提取它们)。 优点:它支持本地程序集,而ILMerge则不支持。 请注意,如果您喜欢ILMerge方式(即完全删除原始程序集的IL操作),ILRepack 是一个开源克隆版本,具有更多功能(例如WPF支持)。