Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 需要合并DLL并创建单个程序集_C#_.net_Dll_Ilmerge - Fatal编程技术网

C# 需要合并DLL并创建单个程序集

C# 需要合并DLL并创建单个程序集,c#,.net,dll,ilmerge,C#,.net,Dll,Ilmerge,我正在尝试部署winforms应用程序。目前我打算将DLL和可执行文件打包到一个大小约为12MB(压缩)的Exe中。这是标准过程吗?这种方法是否有一些缺点?Microsoft实际上为此提供了一种工具,名为。请记住: 您将立即失去仅更新应用程序中一个组件的能力—您需要重新打包新版本并将其作为一个文件发布 它不适用于WPF,因此它可能会限制您从winforms的升级路径 对于.NET4.5,有更好的方法(记录在上面的链接中) 另外,有人为它创建了一个新的工具。微软实际上提供了一个工具,名为。请记

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

Microsoft实际上为此提供了一种工具,名为。请记住:

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

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

  • 对于.NET4.5,有更好的方法(记录在上面的链接中)


另外,有人为它创建了一个新的工具。

微软实际上提供了一个工具,名为。请记住:

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

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

  • 对于.NET4.5,有更好的方法(记录在上面的链接中)


另外,有人为此创建了一个网站。

你可以在这个帖子的末尾找到一些官方链接和一个非常好的利弊列表,在这里,问类似问题的原始海报总结了反馈和他学到的东西:

简言之,主要缺点是难以维护(仅部署某些功能的新版本)、可能会缩短启动时间(所有代码都是预先加载的)和更大的内存占用,即使加载的某些功能可能不需要。我看到的潜在好处是部署更简单,按需加载程序集的开销可能更小,如果您正试图实现这一点,那么(使用工具)可能会更好地混淆代码


我想你有理由这么做。FWIW,我个人认为这是一个坏主意。

你可以在这篇文章的末尾找到一些官方链接和一个非常好的利弊列表,在这里,问类似问题的原始海报总结了反馈和他学到的东西:

简言之,主要缺点是难以维护(仅部署某些功能的新版本)、可能会缩短启动时间(所有代码都是预先加载的)和更大的内存占用,即使加载的某些功能可能不需要。我看到的潜在好处是部署更简单,按需加载程序集的开销可能更小,如果您正试图实现这一点,那么(使用工具)可能会更好地混淆代码


我想你有理由这么做。FWIW,我个人认为这是个坏主意。

我知道ILMERGE。这是推荐的标准程序吗?@techno是的,这是非常标准的,尽管将来可能会改变,以支持我提到的替代方法。我知道ILMERGE。这是推荐的标准程序吗?@techno是的,这是非常标准的,虽然这在将来可能会改变,以支持我提到的替代方法。“缩短启动时间”合并会减少启动时间吗?“缩短启动时间”合并会减少启动时间吗?