【问题标题】:Can .Net Application be converted into a Portable App i.e. single .exe.Net 应用程序可以转换为便携式应用程序,即单个 .exe
【发布时间】:2010-01-21 16:05:42
【问题描述】:

.Net 应用程序可以转换为单个 .exe 可移植应用程序吗?

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

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

谢谢

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        是的,.NET 应用程序可以是单个 .exe 文件。您可以只编写一个在 .NET 框架之外没有依赖关系的程序集,也可以使用 ILMerge 将多个程序集组合成一个程序集。不过,用户仍然需要安装适当版本的 .NET 框架;没有办法。

        【讨论】:

        • 我不想单独安装 .net 框架,因为这个应用程序适用于没有网络、没有互联网并且运行可引导的精简版 Windows(如 BartPE 等)的机器。它用于诊断电脑问题?
        • @Belliez:正如我所提到的,看起来确实可以使用您的应用重新分发 .NET 框架。我自己从未做过,但我在这里看到了更多信息E:msdn.microsoft.com/en-us/library/xak0tsbd.aspx
        • @Belliez:必须安装框架,但如果您为应用程序创建安装项目,您可以让它自动为您安装框架。但是,您不能在没有框架的情况下分发 .exe 文件;这是不可能的。
        【解决方案4】:

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

        http://msdn.microsoft.com/en-us/library/xak0tsbd.aspx ,但我自己从来没有做过。

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

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-02-09
            • 2010-10-08
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多