在c#应用程序中合并依赖的dll

时间:2013-07-12 07:51:07

标签: c# ilmerge

我已经使用这些dll创建了一个备份控制台应用程序(这是在Windows 8 64位上运行在.net 3.5上的32位程序):

Delimon.Win32.IO

SevenZipSharp

7z(原生)dll 我试图将它们与ilmerge合并,但程序仍然在启动时询问dll(Delimon.Win32.IO未找到)。

然后我尝试了第二个解决方案: 将dll添加到资源和处理AssemblyResolve事件,仍然是同样的问题。

有任何疑问是什么问题?。

我不想要任何商业解决方案。

1 个答案:

答案 0 :(得分:1)

我建议使用Costura。

https://github.com/Fody/Costura

Costura可用于NuGet,是提供自定义AssemblyResolve系统的简单解决方案。它将引用所有项目引用并在构建时自动添加它们。

此外,如果您有本机或混合模式程序集(例如7zip),那么您需要为Costura提供一些配置。自述文件中包含了所有内容。