【问题标题】:Creating executable file for Linux using Mono?使用 Mono 为 Linux 创建可执行文件?
【发布时间】:2012-02-08 18:36:18
【问题描述】:

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

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

2) 尝试通过 PHP 调用 Apache Web 服务器上的应用程序时,有什么需要考虑的吗?权限?

【问题讨论】:

    标签: c# php linux apache mono


    【解决方案1】:

    1:the Mono FAQ上的第一个问题:

    Mono 可以运行 Visual Studio 生成的二进制文件吗?

    是的,Mono 可以运行 Visual Studio 生成的二进制文件,无需重新编译。

    使用我们的 Mono 迁移分析工具检查您的应用程序使用的所有内容是否已在 Mono 中实现,或者是否有需要牢记的特殊注意事项。

    如今的 Mono API 介于 .NET 2.0 和 .NET 4.0 之间,请参阅我们的路线图了解实现的详细信息。

    2:我不能专门针对 PHP,但我相信您必须使用 mono 可执行文件(例如 mono /path/to/exe/SomeTool.exe)运行该进程

    【讨论】:

    • 感谢您的快速回答!不幸的是,我不明白您对我的问题的回答涉及什么。 2. 具体来说,我想我必须以某种方式将 Mono 集成到 Apache Web 服务器中?否则服务器不会知道命令“mono”......现在的问题是如何做到这一点?我能找到的最接近的链接是link这个链接,但这也没有帮助,因为我正在处理我租用的共享网络服务器..
    • 您正在深入研究这一点。您最初使用exec 方法从PHP 应用程序运行可执行文件的计划应该仍然有效。 $command 参数类似于/bin/mono /path/to/exe/SomeTool.exe。我不知道您可能会遇到什么样的问题,但原则上我不知道为什么这不起作用。
    • 问题是Apache Web服务器上没有安装“Mono”,因此调用“/bin/mono ...”会导致错误,因为没有“mono”命令。
    • 但是,目前的状态是,当我只是调用 SomeTool.exe 时,也会出现同样的错误。我很困惑,因为在我的操作系统(Windows)上测试时它确实可以工作,但当我将相应的文件上传到服务器(Linux)时却不行。
    • 没有 Mono 在 linux 上运行,而在 Windows 上编译的可执行文件通常在 Linux 上运行。问题仍然是您没有安装 Mono。为了让您的 Linux 机器知道如何处理 SomeTool.exe,这是必需的。这不是编程问题,而是系统管理问题。您的支持人员应该知道如何在您的 debian 机器上安装软件包。 [Here's] 一个为您的平台提供预编译包的站点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-24
    • 2010-10-23
    • 2015-11-03
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多