我试图部署一个winforms应用程序。目前我打算将Dlls和Executable打包成一个大小为12MB的单个Exe(压缩)。这是标准程序吗?这种方法有一些缺点吗?
答案 0 :(得分:6)
Microsoft实际上为此提供了一个名为ILMerge的工具。请记住:
您立即失去了仅更新应用程序中的一个组件的能力 - 您需要重新打包新版本并将其作为一个文件发送。
它不适用于WPF,因此可能会限制您从winforms升级的路径
.NET 4.5有更好的方法(在上面的链接中记录)。
另外,有人为它创建了GUI。
答案 1 :(得分:0)
你可以在这个帖子的最后找到一些官方链接和一个很好的优点和缺点列表,原来的海报提出了类似的问题,总结了反馈和他学到的东西:
http://www.pcreview.co.uk/forums/single-multiple-assemblies-big-apps-and-code-reuse-t2659572.html
简而言之,主要的缺点是难以进行维护(仅部署某些功能的新版本),可能会缩短启动时间(所有代码都是预先加载的),并且即使可能不需要加载某些功能,也会占用更大的内存空间。我可以看到的潜在好处是更简单的部署,按需加载程序集的开销可能更少,如果你想要实现的话,可能会更好地混淆代码(使用工具)。
我认为你有理由想要这样做。 FWIW,我个人认为这是一个坏主意。