我非常尊重Mono和CSLA。我想在非Microsoft操作系统上利用CSLA。我接受Mono永远会落后于Microsoft这一事实,但Mono支持足够的.Net框架来促进各种有趣的应用程序。我也意识到,Mono不支持许多3.0 .Net添加功能,如WPF(尽管它必须对Moonlight发挥作用)。对于我的当前需求,WPF支持并不重要,WCF也不是。我真诚地感谢Rocky在CSLA中实现并继续维护的所有繁琐数据绑定支持。对于许多应用程序而言,这是我认为CSLA增加实质价值的地方。我意识到CSLA还带来了许多其他功能,但对我而言,数据绑定非常重要。我怀疑,在Mono下,CSLA的主要兼容性问题集中在Mono未实现所有.Net数据绑定细节(特别是DataGrids)和序列化格式差异方面。我有一些关于如何解决这些问题的想法,但我很想听听已经走过这条路的任何人的意见。
编辑: 值得一提的是,我曾在CSLA论坛上发布了这个完全相同的问题。CSLA社区和Rocky很快就会回答问题。然而,这个问题从未得到任何答案。我认为原因很简单:Rocky长期以来一直专注于微软技术。我不怪他。Rocky对CSLA有着巨大的投资。他是仁慈的独裁者。我很感激他将CSLA开源。我猜想他已经足够忙于每隔几年在Microsoft世界中跟进主要API的变化。Linux / Mac OS可能不在他的视野范围内。目前也许不应该是。大多数Linux或Mac OS的人甚至从未听说过CSLA。
您可以随时分叉源代码,削减它,增强等,使其与Mono配合使用。如果你这样做,你就没有CSLA社区支持(至少现在还没有)。出于这个原因,我放弃了这个努力。
更新: 看起来Rocky现在对Mono很感兴趣。请查看CSLA Roadmap。