如何将第三方dll与自己的dll结合起来

时间:2013-04-17 10:13:43

标签: c# dll .net-assembly

我在C#中创建了一个库TRSetup.dll。 该项目包括一些第三方DLL。 (例如:GalaSoft.MvvmLight.Extras.WPF4.dll,GalaSoft.MvvmLight.WPF4.dll,RemObjects.Hydra.dll)

我需要组合所有的dll并创建一个dll。

我正在使用ilMerge来组合dll。 我正在使用以下命令,

    ilMerge /out:MergedSetup.dll /targetplatform:v4,"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client" 
/lib: TRSetup.dll  Galasoft.MvvmLight.Extras.WPF4.dll Galasoft.MvvmLight.WPF4.dll RemObject.Hydra.dll

我可以创建一个名为MergedSetup.dll的dll,但在运行时它崩溃了。 我该如何合并这些dll。

提前谢谢。

1 个答案:

答案 0 :(得分:5)

WPF(以及NHibernate,以及其他许多引用按名称汇编的程序)和ILMerge的问题。在ILMerge之后很长一段时间没有这样的装配,它们都被注入主装置。

尝试嵌入而不是合并:LibZ( http://libz.codeplex.com/)或Costura.Fody(https://github.com/Fody/Costura/

免责声明:我是LibZ的作者。

干杯,