.Net 应用程序可以转换为单个 .exe 可移植应用程序吗?
即没有安装程序,它只是运行?
我想所有的dll、资源等都需要嵌入到exe中?如果是这样,我该怎么做?
谢谢
.Net 应用程序可以转换为单个 .exe 可移植应用程序吗?
即没有安装程序,它只是运行?
我想所有的dll、资源等都需要嵌入到exe中?如果是这样,我该怎么做?
谢谢
不 - 您不能在自己的应用程序中静态包含 .net 运行时
是的,.NET 应用程序可以是单个 .exe 文件。您可以只编写一个在 .NET 框架之外没有依赖关系的程序集,也可以使用ILMerge将多个程序集组合为一个。不过,用户仍然需要安装适当版本的 .NET 框架;没有办法解决这个问题。
我不确定,但听起来您希望将 .NET 框架(或您的应用程序所需的部分)包含在安装程序中,以便它 100% 独立,是吗?我知道如果尚未安装 ClickOnce 应用程序,它可以下载 .NET,但如果您要部署到网络连接受限或没有网络连接的计算机,这将无济于事。据我了解,您可以使用您的应用重新分发框架:
http://msdn.microsoft.com/en-us/library/xak0tsbd.aspx,但我自己从未做过。
编辑:您的应用程序的可执行文件实际上不需要使用安装程序安装(如果您只需双击它就会运行),但如果您包含其他文件(例如 .NET 的可再发行文件),那么您可能会需要某种安装程序。
可以使用称为应用程序虚拟化的概念将 .net 应用程序打包到单个可执行文件中。这不是世界上最实际的事情,但它是可能的。
我写了一些关于它的更多细节来回应这篇文章。