C#VS2010程序编译+;在Linux MONO上运行

C#VS2010程序编译+;在Linux MONO上运行,c#,mono,C#,Mono,我写了一个c#程序。我想在CentOS 6的Mono上运行它。我需要采取什么步骤来编译它?我读了一些使用xbuild的步骤,但我无法使用,一些使用gmcs的步骤,等等。现在没有任何效果 一个简单且切中要害的指南会很好。我通过一个Mono分析器运行了它,它没有给Mono带来任何错误,所以它应该很好地运行。好吧,只要它没有GUI(意味着它只是一个控制台应用程序),或者GUI是一个简单的Windows窗体或GTK,你就不需要专门编译它。Mono会在控制台上正常运行C#程序。Windows窗体有一些奇怪

我写了一个c#程序。我想在CentOS 6的Mono上运行它。我需要采取什么步骤来编译它?我读了一些使用xbuild的步骤,但我无法使用,一些使用gmcs的步骤,等等。现在没有任何效果


一个简单且切中要害的指南会很好。我通过一个Mono分析器运行了它,它没有给Mono带来任何错误,所以它应该很好地运行。

好吧,只要它没有GUI(意味着它只是一个控制台应用程序),或者GUI是一个简单的Windows窗体或GTK,你就不需要专门编译它。Mono会在控制台上正常运行C#程序。Windows窗体有一些奇怪的地方,它从来没有完全完成过,但一般来说,您应该能够使用VS 2010进行编译,将dll和可执行文件复制到要运行它的系统上,然后运行“mono myprogram.exe”。我们以这种方式运行几个较旧的程序。

要在mono下运行.net程序,您所要做的就是将带有所有依赖DLL的.exe文件复制到mono计算机上,并使用以下命令运行应用程序:

mono myprogram.exe  
如果这不起作用,那么代码中的某些内容在mono/Linux上就不起作用

正如您在评论中提到的,您遇到了一些IO错误,这可能是因为您试图连接到COM1或类似的东西。COM在Linux中不存在,因为我相信其他东西也不存在(我是Linux的初学者)

也许您应该尝试在代码的某些地方控制台.WriteLine()。这是一种不用调试器进行“调试”的好方法^^


我也会对另一个答案发表评论,不幸的是我不能,因为我不允许以名誉发表评论。谢谢你,但现在我一直在LKAMELOT.io.IOThread.run()[0x00000]中:0在LKAMELOT.io.IOThread.run()[0x00000]in:0有什么方法可以诊断这个问题吗?我想我可能需要在Mono下编译程序,而你没有。Mono是一个开源的.Net运行时。问题在于你的代码或者你正在使用Mono不支持的库。卡米洛特是你的项目吗?我找不到关于那个的任何东西。您正在运行多线程吗?我有一个静态方法,它执行World-World=new-World();世界。勾选();