4

我正在用 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。

先感谢您。

4

1 回答 1

5

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

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

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

干杯,

于 2013-05-01T10:27:24.580 回答