日期:2014-05-20  浏览次数:20701 次

【mono && debian 6 && asp.net】 200分求教
各位高手:

请问有人在debian6上搞过基于mono的asp.net web form 开发的吗?
请介绍一下项目经验,有啥需要注意的啊?

真心求教。

浏览了官网www.go-mono.com
但还是有很多顾虑,是不是采用php或jsp更好些呢?
------最佳解决方案--------------------
引用:
据说mono不支持entity framework,另外没有visual studio ide,其他细微的差别不清楚


1. 关于Mono与entity framework之间的事情:

其实不能说Mono不支持entity framework,而是有没有人把entity framework移植到Mono平台的问题。其实有非常多的Microsoft.Net平台下的类库已经移植到了Mono平台,也有一些类库甚至是不经任何修改在Microsoft.Net平台上编译然后直接就能在Mono平台上运行的(因为Microsoft.Net和Mono从CLR的角度来说有非常多的高度一致的地方)

至于entity framework在Mono平台上直接运行的事情,由于entity framework可能存在一些对Windows平台特有的依赖,所以entity framework不能直接在Mono平台上运行。

但是这并不表示entity framework不可以移植到Mono平台上来。
已经有人做过这种事:
Entity framework for Mono, Monotouch and .NET applications
http://code.google.com/p/entify/
但是,这毕竟是一项移植工作,移植的是否完整呢?还有待去检验。
现在微软的entity framework已经开源了,其实我们自己拿着微软的entity framework的源代码就可以尝试在Linux+Mono平台上去编译,只不过光重编译不能解决所有问题,可能需要把Windows only的code稍稍改写一下使它支持Linux+Mono平台。

Mono官方网站上也有对于EntityFramework的讨论:
http://www.mono-project.com/EntityFramework



2. 关于Mono没有Visual Studio这样的IDE的问题

首先,Mono虽然没有Visual Studio,但是Mono有自己的IDE:MonoDevelop
MonoDevelop这个工具怎么样呢?它基本上可以和Windows平台上的SharpDevelop划等号,区别不大,仅仅是运行平台不同。
其次,虽然Mono没有Visual Studio,但是Mono有一个插件可以让Visual Studio直接编译、调试Mono代码。但这个插件是收费的。期待着这个插件有一天能够免费,或者有人发布出它的免费替代品。
另外,我做过这样的尝试:源代码在Visual Studio环境中编写,(当然编写过程中为了为了确保写得对不对人们常常也会编译),然后把最终写好的源代码导入到MonoDevelop中直接编译成Mono版本。这是我发明的土办法,虽然办法很土,但是我们当时就是这么干的,很成功。这么干的前提是团队里要有一位Mono专家,深知Mono在什么地方和Microsoft.Net有不完全兼容的地方,如何避开这些地方,或者避不开的话如何把它拿出来独立去处理。我当时在团队里就是充当这个Mono专家的角色的。





------其他解决方案--------------------
asp.net web form 开发
有现成的VS 干吗不用呢
------其他解决方案--------------------
这个还真么搞过,如果想开发asp.net webform应用程序的话,还是建议使用VS IDE,方便多了!


------其他解决方案--------------------
据说mono不支持entity framework,另外没有visual studio ide,其他细微的差别不清楚
------其他解决方案--------------------
做过这样的项目,Debian Linux + Apache + Mono (mod_mono) + Postgresql 

不过我做的不是web form程序,是一个C/S程序,Apache只是为了提供http的访问,client与server之间通过HTTP Handler互相传递JSON字符串来作为请求/应答。

是不是比PHP或JSP更好?
这个问题我这样回答你:
相对于PHP来说,可以说更好,因为C#不管怎么说也是比PHP更好的编程语言,这是我个人从纯编程语言的角度来说的。但是你实际做项目做得怎么样,还得靠你自己。我只能说,在同样用心地做项目的前提下,C#显然比PHP可发挥的空间要大得多。

相对于JSP来说,有人做过试验证明同样在Linux平台下,Mono效率比Java高。这个文章在codeproject上,你可以自己去看。不过这个比较也是仁者见仁智者见智的,也许有人对测试方法存有疑问。
从其它的角度来说,也许不能说Mono比Java好多少,它只是提供了另外一种你开发软件的选择。我们开发软件有很多工具可选呀,有Delphi,有C++,Delphi一定比C++好或者C++一定比Delphi好吗?当然不一定,只是到了某个具体的开发人员手里,他可能更擅长Delphi,或者他可能更擅长C++。我们当时用Mono做项目的大背景是公司有一大批.Net程序员,但是没有Java程序员,而客户要求软件能够部属在Linux环境,所以我们选择了Linux平台上的成熟的.Net解决方案——Mono。那么你们公司选择Mono的理由是什么呢?可以交流一下吗?

关于Mono需要注意的地方,我曾写过一篇博客,你看一下吧,欢迎在文章的评论里面和我讨论。

人们接受Mono之前必须明确的事情 
http://blog.csdn.net/xinyaping/article/details/6728807

我很希望你在我的博客上发表评论,给我一些反馈或者提出你的问题。


------其他解决方案--------------------
另外再给你介绍一个国内的专门讨论Mono的社区:
http://www.imono.cc/

国内能有这么一个社区还真是不容易呢。

不过如果你英文好的话可以去国外的一些网络社区看看,国外这方面的社区可就多了去了。


------其他解决方案--------------------
哥给你一个非常宝贵宝贵的意见:不是Mono不行,而是微软不行。
既然兄弟你考虑linux,那就意味着你要自己做点小玩意、创业、或者是新公司,资金肯定是个大问题。