首页 > 解决方案 > 在未安装 .Net 的 xp 上运行 .Net Framework 应用程序

问题描述

我有一个用 .Net Framework 4.0 编写的应用程序,我需要能够在没有安装 .Net 的情况下在 Win xp sp3 上运行。

我发现使用 mono 和 mkbundle --static --deps,我可以实现我所需要的(如果我理解正确的话)。所以我从一个简单的“Hello world”应用开始:

using System;

namespace Hello
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello world");
            Console.ReadKey();
        }
    }
}

但是当我使用:

mkbundle --static --deps Hello.exe -o Hello -L /usr/lib/mono/4.0-api

发生错误。

编辑:感谢 gethomast,我成功地为 linux 构建了应用程序。我不得不使用:

mkbundle --fetch-target mono-6.0.0-ubuntu-18.04-x64
mkbundle --static --deps Hello.exe -o Hello --cross mono-6.0.0-ubuntu-18.04-x64 --i18n none

但我需要在 windows xp 上运行我的应用程序。是否可以选择下载适用于 windows xp 的工具/运行时?或者我可能需要使用安装在 xp 上的单声道来构建应用程序?或者也许我可以使用安装了旧单声道和 VS 的 win 10?

有人对这个问题有一些经验吗?任何帮助表示赞赏。

标签: c#.netmonostatic-linkingmkbundle

解决方案


mono github 上的已知问题,请参阅https://github.com/mono/mono/issues/16829


推荐阅读