在编译的可执行文件中嵌入DLL

在编译的可执行文件中嵌入DLL

你知道吗,我在任何地方都没有找到好的答案。是否可以将预先存在的DLL嵌入到已编译的C#可执行文件中(以便您只能分发一个文件)?如果可能的话,怎么做呢?

通常,我可以把DLL放在外面,让安装程序来处理所有的事情,但是有几个人在工作中问我这个问题,我真的不知道。


紫衣仙女
浏览 498回答 3
3回答

慕尼黑8549860

我强烈推荐使用科斯特拉-到目前为止,将资源嵌入到程序集中的最佳和最简单的方法。它可以作为NuGet包使用。Install-Package Costura.Fody将其添加到项目后,它将自动将复制到输出目录的所有引用嵌入到您的主大会。您可能希望通过将目标添加到项目中来清除嵌入的文件:Install-CleanReferencesTarget您还可以指定是包含PDB、排除某些程序集还是动态提取程序集。据我所知,也支持非托管程序集。更新目前,一些人试图增加对DNX的支持.

青春有我

如果它们实际上是托管程序集,则可以使用ILMerge..对于本地DLL,您将有更多的工作要做。另见: 如何将C+Windows DLL合并到C#应用程序exe中?
打开App,查看更多内容
随时随地看视频慕课网APP