我是整个单声道/ linux场景的新手,但找不到一个简单问题的答案: 给定.net应用程序只使用单声道支持的库/函数(无意): 您是否可以使用单声道在Linux上运行它而无需使用单声道编译器重新编译它?
我很抱歉,如果这是非常基本的,但所有信息我只会越来越困惑。
- 仅供参考: 我将尝试使用运行debian和mono的raspberry pi来运行名为domdomsoft mangadownloader的应用程序以及用作传输文件的httpd服务器的应用程序。 这两个应用程序都是内置的.net并且看起来很基本,所以我猜他们没有使用单声道不支持的任何代码。
由于我没有任何源代码,我将无法重新编译任何内容。 所以我希望我能在树莓派上使用mono运行.exe。
答案 0 :(得分:1)
是的,你将能够,这是单声道和背后的全部观点。 .net,只要你没有使用那些实现之外的库,它应该可以正常工作(因为你可以直接拖放和删除为.net生成的exe并在Linux单声道盒子上使用它而不触及它)
然而,出现“基本”的应用程序与其不使用任何非单声道功能没有任何关系。例如,如果它是在WPF中制作的,即使它只是一个带有1个文本框和一个按钮的简单窗口,它也不会运行,所以你需要尝试&看到。如果你去单声道网站,你也有工具,以二进制作为输入&告诉你它是否会在单声道上运行,如果这对你来说更容易。
答案 1 :(得分:0)
“我没有任何源代码,我将无法重新编译任何东西”。仅这一陈述使你的愿望几乎无法实现。
Mono和.NET都是支持MSIL / CIL执行的CLR实现。因此,如果应用程序在Windows上针对.NET编译为MSIL,Mono有机会毫无问题地执行它。但是这种完美的端口有一些严格的要求,
您可以从上面看到,即使使用应用程序的完整源代码,将其移植到Mono也不是开发人员的轻松任务。因此,在您手边没有源代码的情况下,最不可能完全在Mono上运行应用程序。