构建单个文件应用程序

时间:2010-06-08 22:16:18

标签: c# .net wpf ilmerge

我正在尝试合并两个文件。其中一个是.net3.5 wpf应用程序,另一个是WPF notify icon dll

我使用以下命令:

IlMerge /target:winexe /out:PS.exe "PlayerSearcher.exe" "Hardcodet.Wpf.TaskbarNotification.dll"

但是当我发布结果时,我的应用程序因此错误而崩溃

  

EventType:clr20r3 P1:ps.exe
  P2:1.0.0.0 P3:4c0ee52f P4   :presentationframework P5:   3.0.0.0 P6:4938d608 P7:9a1 P8:46 P9:system.io.ioexception

为什么呢?我如何构建单个文件应用程序?

1 个答案:

答案 0 :(得分:1)

只是猜测,但您可能需要合并其他引用。例如,也许您还将somethingelse.dll与EXE一起复制到项目的bin文件夹中并忘记包含它?

您不应该从GAC合并.NET Framework程序集,除非“Copy Local”True / false设置存在问题:

  

现在,您修改的项目将会   自动拥有所有参考   合并的程序集。只有   标记为“复制本地”的程序集将是   合并了系统程序集和GAC   默认情况下不会合并程序集。

- http://blogs.msdn.com/b/jomo_fisher/archive/2006/03/05/544144.aspx

也许,只是为了调试它,尝试将.NET Framework类本地复制到您的项目中并合并它们以查看它是否有效。这可能有助于开始隔离错误。