如何结合第三方DLL与自己的DLL

本文关键字:DLL 第三方 自己的 结合 何结合 | 更新日期: 2023-09-27 18:09:50

我正在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 ?

提前感谢。

如何结合第三方DLL与自己的DLL

这是WPF(和NHibernate,以及许多其他引用汇编的名称)和ILMerge的已知问题。长话短说,在ILMerge之后,不再有这样的程序集了,它们都被注入到主程序集中。

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

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

欢呼,