我一直在尝试使用 ILMerge 来合并 VS2010 中的程序集,而生成的主程序集最终无法使用。这似乎只发生在被合并的程序集包含带有 Lambda 表达式的方法时。此外,它似乎在 VS2008 中运行良好。
我在这里更详细地概述了我的调查。
任何有关如何解决此问题的见解将不胜感激。
我一直在尝试使用 ILMerge 来合并 VS2010 中的程序集,而生成的主程序集最终无法使用。这似乎只发生在被合并的程序集包含带有 Lambda 表达式的方法时。此外,它似乎在 VS2008 中运行良好。
我在这里更详细地概述了我的调查。
任何有关如何解决此问题的见解将不胜感激。
最近对 ILMerge 进行了更新,以修复几个 VS2010 兼容性问题。还有一个针对 .NET 4.0的新命令行选项。下载最新最好的。
Mike Barnett 通过电子邮件回复并告诉我问题可能出在我的配置文件中。他的建议是使用 /targetplatform 选项:
前任。
ILMerge.exe /targetplatform:v4,c:\Windows\Microsoft.NET\Framework\v4.0.30319 /out:foo.exe Program.exe MathLib.dll
我添加了 /targetplatform 和路径,删除了 ILMerge 配置文件,现在一切正常。