Mono的C#有严重问题,怎么办

Ninputer 2002-05-21 08:04:12
用Mono C# 0.10编译C#文件,发现非常好,所有类型转换、实例、循环、分支编译的结果都和Visual C#一样优化。但就是有一个问题——生成的exe无法在Windows下直接运行。用Mono的运行环境是可以运行的,但这样不就不太跨平台了?
我把Mono C#编译的文件用ildasm反汇编,然后再ilasm重新汇编,就能运行了!真是奇怪,我想是编译出来的文件头有问题。哪位仁兄研究过Mono C#,能解决这个问题?
另外提一句,大家应该充分关注Mono计划,它实现了Linux和Unix下的.net平台,并与Windows下的完全兼容,真是太神奇了
...全文
473 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqchen79 2002-05-23
  • 打赏
  • 举报
回复
是不是文件头上没有那个jmp _CorExeMain的Stub?
在Windows上必须要这个东东才能运行的,因为目前Windows的Exe loader并不支持MSIL文件,所以必须要这个东西。不过想来在Linux上编译是不会加这个的。今后的所谓Windows.NET出来以后就没这个问题了。
Ninputer 2002-05-23
  • 打赏
  • 举报
回复
真的有可能是这个问题!
不过我发现MCS 0.11已经改正了,但我现在只能用Mono 0.10,真是烦
5drush 2002-05-22
  • 打赏
  • 举报
回复
很多.net类库在mono下还没实现,运行出错是很正常的,在mono0.10下还没有timespan函数,到了mono0.11下就有了
Ninputer 2002-05-22
  • 打赏
  • 举报
回复
我还是觉得编译出来的文件头有问题
另外,我编写的Socket程序不能执行,说Connect语句错误,简直搞笑!
在CLR下很正确
5drush 2002-05-22
  • 打赏
  • 举报
回复
试试用mono 0.11吧,我试过了,可以互执行,至少在windows下编译的程序在linux下能直接执行,只不过速度慢了几个数量级,在win下的100000*100000的循环(2秒多)到了linux下就像死机一样,改成10000*10000的循环在我的机器上跑是1点几秒,配置是P3 Mobile 1.2G,512M,系统是Mandrake Linux 8.2
duanfeng 2002-05-22
  • 打赏
  • 举报
回复
关注
ili2002 2002-05-22
  • 打赏
  • 举报
回复
谢谢!找到了
http://www.go-mono.com/download.html
ili2002 2002-05-22
  • 打赏
  • 举报
回复
请教mono软件哪里可下?
CForce 2002-05-21
  • 打赏
  • 举报
回复
我很关注mono啊,不过没用过,因为知道他还不成熟。
兼容性问题我想以后会解决,因为谁都认为这很重要。
有什么发现在这里多多留言:)

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧