C# 使用Mono为Linux创建可执行文件?
我想开发一个C#工具,无论何时通过PHP调用它(例如使用exec命令),它都应该在Apache Web服务器上运行。由于我是新手,如果您能帮助我,那就太好了: 1) 如果我在Windows系统上使用Mono和“msc”命令编译C#代码,这会创建一个在Linux(即Apache Web服务器)中也可执行的文件吗?(它在Windows中肯定是可执行的)如果不是,我如何使用Mono for Windows创建Linux可执行文件C# 使用Mono为Linux创建可执行文件?,c#,php,linux,apache,mono,C#,Php,Linux,Apache,Mono,我想开发一个C#工具,无论何时通过PHP调用它(例如使用exec命令),它都应该在Apache Web服务器上运行。由于我是新手,如果您能帮助我,那就太好了: 1) 如果我在Windows系统上使用Mono和“msc”命令编译C#代码,这会创建一个在Linux(即Apache Web服务器)中也可执行的文件吗?(它在Windows中肯定是可执行的)如果不是,我如何使用Mono for Windows创建Linux可执行文件 2)当试图通过PHP调用Apache Web服务器上的应用程序时,有什
2)当试图通过PHP调用Apache Web服务器上的应用程序时,有什么要考虑的吗?许可权?
1:第一个问题是: 单声道可以运行Visual Studio生成的二进制文件吗? 是的,Mono可以运行VisualStudio生成的二进制文件,无需重新编译 使用我们的Mono迁移分析工具来检查您的应用程序使用的所有东西是否都是在Mono中实现的,或者是否需要记住一些特殊的注意事项 今天的MonoAPI介于.NET2.0和.NET4.0之间。有关实现的详细信息,请参阅我们的路线图2:我不能专门谈论PHP,但我相信您必须使用
mono
可执行文件(例如mono/path/to/exe/SomeTool.exe
)运行该过程。谢谢您的快速回答!不幸的是,我不明白你对我的第二个问题的回答涉及到什么。具体来说,我想我必须以某种方式将Mono集成到ApacheWeb服务器中?否则服务器就不会知道命令“mono”…现在的问题是如何做到这一点?我能找到的最接近的链接是这个链接,但这也没有帮助,因为我正在处理一个我租用的共享web服务器。你正在深入挖掘这个。使用exec
方法从PHP应用程序运行可执行文件的原始计划应该仍然有效。$command
参数看起来类似于/bin/mono/path/to/exe/SomeTool.exe
。我不知道您可能会遇到什么样的问题,但原则上我不知道为什么这样做不起作用。问题是Apache Web服务器上没有安装“Mono”,因此调用“/bin/Mono…”会导致错误,因为没有“Mono”命令。但是,当前状态是,当我只调用SomeTool.exe
时,会发生相同的错误。我感到困惑,因为当在我的操作系统(Windows)上测试时,它确实可以工作,但当我将相应的文件上传到服务器(Linux)时就不行了。Linux上没有Mono可以工作,Windows上编译的可执行文件通常在Linux上运行。问题仍然是你没有安装Mono。您的Linux机器需要知道如何使用SomeTool.exe
。这不是编程问题,而是系统管理问题。您的支持人员应该知道如何在debian box上安装软件包。[这里是]为您的平台提供预编译包的站点。