所有 .NET 引用的 dll 到项目的 dll

All .NET Referenced dll into the project's dll

我有一个项目引用了另外两个 dll。 编译这个项目后我想把这个项目的dll传递给其他开发者。

我也不想将所有引用的 dll 传递给它们。 我希望所有引用的 dll 都在单个项目的 dll 中。

可能吗?

您可以通过将它们合并为一个程序集来实现。这可以通过使用 ILMerge 来完成,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 作为资源嵌入到您的资源中,并在需要时提取它们)。

专业版:它支持原生程序集,ILMerge 不支持。

请注意,如果您更喜欢 ILMerge 方式(也就是完全删除原始程序集的 IL 操作),ILRepack 是一个开源克隆,具有更多功能(例如 WPF 支持)。