找不到 ILMerge 的最终合并可执行文件位置



在过去的几天里,我一直在努力将程序集合并到一个可执行文件中。这样我就可以将单个可执行文件分发给我的用户。我发现ILMerge可以做到这一点,除了ILMerge,似乎没有更多的工具可以做到。我还尝试了BoxedAPPPacker和SmartAssemblyNetShrink看起来效果不错,但都是付费工具。因此,我想用ILMerge完成这项任务,在浏览和搜索谷歌以及StackOverflow之后,我找到了解决方案。

我尝试了以下一组线来合并组装

c:"Program Files"MicrosoftILMergeILMerge.exe"
/lib:"C:WindowsMicrosoft.NETFrameworkv3.5"
/lib:"C:Program FilesMicrosoft Visual Studio 9.0Common7IDEPublicAssemblies"
/t: winexe
/target:exe
/targetplatform:v3.5,C:WindowsMicrosoft.NETFrameworkv3.5 
/out:”MergedProduct.exe”
"$(TargetDir)Product.exe"
"$(TargetDir)CButtonLib.dll"
"$(TargetDir)Common Tools.dll'
"$(TargetDir)Core.dll"
"$(TargetDir)ProgressIndicator.dll"
"$(TargetDir)TaskScheduler.dll"

我在里面用了上面这组线构建事件>构建后事件命令行

在建造了这个项目之后,我获得了建造成功。此外,在构建应用程序时,运行时就像按下F5键开始调试一样。所以,总而言之,我确信上面的一组行是正确的,但我在任何地方都找不到输出可执行文件(即MergedProduct.exe)。我还尝试使用VisualStudio9.0的Release模式,但仍然找不到Output合并的可执行文件。

我真的错过了什么吗?

另外,我可以使用ILMerge合并Product.exe.config文件吗?

如有任何帮助或建议,我们将不胜感激。

那个代码块是命令行的一个切口吗?我注意到你在/out文件名周围有一些奇特的引号。此外,您是否尝试将文件夹添加到/out文件名(例如,$(TargetDir))?我们在构建过程中这样做是为了将其保存在特定的发布文件夹中。

ILMerge将允许您合并xml文档,但不能合并配置文件(据我所知)。

最新更新