代码之家  ›  专栏  ›  技术社区  ›  greenoldman

如何合并WPF应用程序的程序集?

  •  4
  • greenoldman  · 技术社区  · 14 年前

    编译完每个项目后,我得到一个可执行文件(所以合并,并不真正合并任何东西,它只是为了测试)。当然,每个可执行文件都可以工作。

    然后我以这种方式“合并”每个可执行文件:

    "C:\Program Files\Microsoft\ILMerge\ilmerge" 
        /targetplatform:v4,c:\Windows\Microsoft.NET\Framework\v4.0.30319 
        /lib:c:\Windows\Microsoft.NET\Framework\v4.0.30319\wpf 
        /out:Merged.exe MyApplication.exe
    

    (我之所以调用multiline就是为了便于阅读)。好了,现在控制台应用程序被合并了,运行得和以前一样好,wpf应用程序被合并了,没有任何错误,但是我不能运行它。我是说,我打字

    Merged.exe
    

    任务栏闪烁,但什么都没有显示--没有窗口,没有错误,什么都没有。

    那么我应该如何合并WPF应用程序呢?

    2 回复  |  直到 14 年前
        1
  •  4
  •   Community Mofi    7 年前

    据我所知(也据我所知),ilmerge不能正确处理嵌入了xaml资源的WPF程序集。

    See this question for some possible solutions/alternatives

        2
  •  1
  •   Victor V.    7 年前

    如果我理解正确,您希望将所有程序集嵌入到一个exe中。

    有一个惊人的NuGet包叫做 Costura.Fody . 合并程序集再简单不过了!

    如果你需要合并资源DLL,你很幸运!还有另一个NuGet科斯图拉。福迪打电话 Resource.Embedder !