【问题标题】:Cannot execute binary file after xbuild compilation on server在服务器上进行 xbuild 编译后无法执行二进制文件
【发布时间】:2014-03-27 12:46:45
【问题描述】:

我使用 Monodevelop 用 C# 编写了一个带有我自己的服务器的 Web 应用程序。在我的计算机上,我编译并运行它没有任何问题。但是,我尝试将其部署在服务器上,在使用 xbuild 成功编译 .sln 文件并运行 .exe 文件后,我得到:

“无法执行二进制文件。”

很明显 .exe 有 +x 标志。这是 uname 的结果:

uname -a

Linux xxxxx 3.10.19-2 #1 SMP Thu Nov 14 10:42:59 CET 2013 x86_64 Intel(R)_Xeon(R)CPU___X7460_@_2.66GHz PLD Linux

这是文件的结果

文件服务器.exe

Server.exe:PE32 可执行文件(控制台)Intel 80386 Mono/.Net 程序集,适用于 MS Windows

所以我在 64 位机器上运行一个 32 位应用程序,应该没问题。 “对于 MS Windows”非常令人不安,但在我的计算机上,文件命令给出了相同的输出。这是我电脑上 uname 的结果:

uname -a

Linux xxxxx 3.13.6-1-ARCH #1 SMP PREEMPT Fri Mar 7 22:30:23 CET 2014 i686 GNU/Linux

但是,.exe 文件不是 Unix 脚本。我可以在我的计算机上的 Wine 下运行它,但是服务器上没有 Wine。如何在服务器上运行我的应用程序?

【问题讨论】:

    标签: c# linux mono wine xbuild


    【解决方案1】:

    大多数 Linux 发行版不附带 Mono,因此您必须这样做,

    1. 根据分发手册安装 Mono。听起来您正在使用 Debian 衍生产品,那么您应该运行 sudo apt-get install mono-complete
    2. 通过调用 mono your.exe 运行您的二进制文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-07
      • 2011-04-14
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-04
      • 2014-03-29
      相关资源
      最近更新 更多