0

在将 ILMerge 添加到我的后期构建任务并制定命令行后,我成功获得了一个合并程序 MyMerged.exe

但是当我运行它时,我得到了一个异常

未处理的异常:System.TypeLoadException:无法从程序集“mymerged,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”加载类型“Microsoft.Build.Utilities.TaskItem”,因为方法“.ctor”没有实现(无 RVA)。在 MyProgram.Program.Main(String[] args)

这是 ILMerge 中的错误未处理没有构造函数的情况,还是 TaskItem 中没有构造函数的错误。

谢谢

4

1 回答 1

2

包括Microsoft.Build.Utilities.dll在 ILMerge 命令行中,以便它与您的程序集合并并找到。

如果您定义了重复类型并使用/allowDup命令行开关,ILMerge 将重命名重复类型,这也可能导致“无法加载类型...”错误和运行时出现意外行为,尤其是在使用反射时。

于 2011-12-17T12:33:47.000 回答