1

我正在尝试部署一个 winforms 应用程序。目前我打算将 Dll 和可执行文件打包成一个大小约为 12MB 的单个 Exe(压缩)。这是标准程序吗?这种方法有一些缺点吗?

4

2 回答 2

6

Microsoft 实际上为此提供了一个工具,称为ILMerge。记住:

  • 您将立即失去在应用程序中仅更新一个组件的能力——您需要重新打包新版本并将它们作为一个文件发布。

  • 它不适用于 WPF,因此它可能会限制您从 winforms 的升级路径

  • .NET 4.5 有更好的方法(在上面的链接中记录)。

此外,有人为它创建了一个GUI

于 2012-06-23T16:51:34.127 回答
0

您可以在此线程的末尾找到一些官方链接和一个很好的优缺点列表,其中提出类似问题的原始发帖人总结了反馈和他学到的东西:

http://www.pcreview.co.uk/forums/single-multiple-assemblies-big-apps-and-code-reuse-t2659572.html

简而言之,主要缺点是服务困难(仅部署某些功能的新版本),可能会减少启动时间(所有代码都预先加载)和更大的内存占用,即使可能不需要加载某些功能。我可以看到的潜在好处是部署更简单,按需加载程序集的开销可能更少,并且如果您想要实现的话,可能更好地混淆代码(使用工具)。

我假设你有一些理由想要这样做。FWIW,我个人认为这是一个坏主意。

于 2012-06-23T17:00:08.150 回答