可以将.Net应用程序转换为便携式应用程序,即单个.exe

时间:2010-01-21 16:05:43

标签: .net visual-studio visual-studio-2008 portability portable-applications

.Net应用程序可以转换为单个.exe便携式应用程序吗?

即。没有安装程序,它只是运行?

我想所有的dll,资源等都需要嵌入到exe中?如果是这样,我该怎么做?

由于

5 个答案:

答案 0 :(得分:8)

您可以使用ILMerge将所有程序集合并为单个可执行文件。但是您仍然需要安装框架运行时。要将可执行文件转换为本机可执行文件,您可以查看this question

答案 1 :(得分:1)

否 - 您无法在自己的应用程序中静态包含.net运行时

答案 2 :(得分:1)

是的,.NET应用程序可以是单个.exe文件。您可以只编写一个在.NET框架之外没有依赖项的程序集,也可以使用ILMerge将多个程序集合并为一个程序集。但是,用户仍然需要安装适当版本的.NET框架;没有办法解决这个问题。

答案 3 :(得分:0)

我不确定,但听起来您希望.NET框架(或您的应用程序所需的部件)包含在安装程序中,因此它是100%独立的,是吗? 我知道ClickOnce应用程序可以下载.NET(如果尚未安装),但如果要部署到网络连接有限或没有网络连接的计算机上,则无效。 根据我的理解,您可以使用您的应用重新分发框架:

http://msdn.microsoft.com/en-us/library/xak0tsbd.aspx,但我自己从未这样做过。

编辑:您的应用程序的可执行文件实际上并不需要与安装程序一起安装(如果您只是双击它就会运行),但如果您要包含其他文件(例如.NET的可再发行组件),那么你可能需要某种安装程序。

答案 4 :(得分:0)

可以使用称为应用程序虚拟化的概念将.net应用程序打包到单个可执行文件中。它不是世界上最实用的东西,但它是可能的。

我在回复this post时写了更多关于它的细节。