在过去的几天里,我一直在努力将程序集合并到一个可执行文件中。这样我就可以将单个可执行文件分发给我的用户。我发现ILMerge
除了可以做到这一点之外ILMerge
,似乎还有其他一些工具可以做到这一点。我试过BoxedAPP
Packer 和SmartAssembly
. NetShrink
似乎工作得很好,但都是付费工具。因此,我想通过ILMerge
大量浏览和搜索 Google 以及从 StackOverflow 完成任务,我找到了解决方案。
我尝试了以下一组用于合并程序集的行
c:\"Program Files"\Microsoft\ILMerge\ILMerge.exe"
/lib:"C:\Windows\Microsoft.NET\Framework\v3.5"
/lib:"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies"
/t: winexe
/target:exe
/targetplatform:v3.5,C:\Windows\Microsoft.NET\Framework\v3.5
/out:”MergedProduct.exe”
"$(TargetDir)Product.exe"
"$(TargetDir)CButtonLib.dll"
"$(TargetDir)Common Tools.dll'
"$(TargetDir)Core.dll"
"$(TargetDir)ProgressIndicator.dll"
"$(TargetDir)TaskScheduler.dll"
我在 Build-Events > Post-Build event 命令行中使用了上面的这组行
在构建项目后,我得到了构建成功。此外,在构建应用程序时,就像我按 F5 开始调试一样运行。所以,总而言之,我确信上面的那组行是正确的,但我在任何地方都找不到输出的可执行文件(即MergedProduct.exe
)。我也尝试使用Release
Visual Studio 9.0 的模式,但我仍然找不到输出合并的可执行文件。
有什么很明显的我想念的吗?
另外,我可以使用合并Product.exe.config
文件ILMerge
吗?
任何帮助或建议将不胜感激。