我一直在尝试使用ILMerge在VS2010中合并程序集,结果主程序集最终无法使用。仅当合并的程序集包含具有Lambda表达式的方法时,才会出现这种情况。此外,它似乎在VS2008中工作正常。
我已经更详细地概述了我的调查here。
非常感谢任何有关如何解决这个问题的见解。
答案 0 :(得分:1)
ILMerge最近有更新来修复几个VS2010兼容性问题。并且有一个new command line option来定位.NET 4.0。下载最新最好的。
答案 1 :(得分:0)
Mike Barnett通过电子邮件回复并告诉我问题可能出在我的配置文件中。他的建议是使用/ targetplatform选项:
实施例
ILMerge.exe /targetplatform:v4,c:\Windows\Microsoft.NET\Framework\v4.0.30319 /out:foo.exe Program.exe MathLib.dll
我添加了/ targetplatform和path,删除了ILMerge配置文件,现在一切正常。