Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Mono为Linux创建可执行文件?_C#_Php_Linux_Apache_Mono - Fatal编程技术网

C# 使用Mono为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服务器上的应用程序时,有什

我想开发一个C#工具,无论何时通过PHP调用它(例如使用exec命令),它都应该在Apache Web服务器上运行。由于我是新手,如果您能帮助我,那就太好了:

1) 如果我在Windows系统上使用Mono和“msc”命令编译C#代码,这会创建一个在Linux(即Apache Web服务器)中也可执行的文件吗?(它在Windows中肯定是可执行的)如果不是,我如何使用Mono for Windows创建Linux可执行文件

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上安装软件包。[这里是]为您的平台提供预编译包的站点。