1

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

“不能执行二进制文件。”

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

unname -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 的结果:

unname -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。我该怎么做才能在服务器上运行我的应用程序?

4

1 回答 1

0

大多数 Linux 发行版不附带 Mono,所以你必须,

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