我在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。
提前谢谢。
答案 0 :(得分:5)
WPF(以及NHibernate,以及其他许多引用按名称汇编的程序)和ILMerge的问题。在ILMerge之后很长一段时间没有这样的装配,它们都被注入主装置。
尝试嵌入而不是合并:LibZ( http://libz.codeplex.com/)或Costura.Fody(https://github.com/Fody/Costura/)
免责声明:我是LibZ的作者。
干杯,