c# - 在未安装 .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?
有人对这个问题有一些经验吗?任何帮助表示赞赏。
解决方案
mono github 上的已知问题,请参阅https://github.com/mono/mono/issues/16829
推荐阅读
- angular - 为什么从 Angular 5 升级到 Angular 8 后 LOCAL_STORAGE 不能正常工作?
- scala - 在 Spark 中使用验证铸造 Dataframe 列
- angular - 远程 Angular 应用程序和 Electron 桌面应用程序之间的通信
- c++ - Pytorch/ATen C++中切片张量的等价性
- python - 将元素附加到列表列表中会覆盖整个列表
- java - 如何在java和mysql中将休假添加到列表中的所有员工
- git - 用于从 GitHub 拉取但推送到公司的设置存储库
- executorservice - 使用 singleThreadExecutor 和 executorServices 执行时出现 NullpointerException
- sql-server - 防止从另一个触发器触发触发器
- node.js - 在 mongoose 中通过关系 _id 编辑嵌套值