Mono'yu ticari olarak kullanmamıştım, ancak özel olarak kullanıyorum, çünkü bir Windows şirketinde çalışıyorum, ancak özel olarak bir Linux kullanıcısıyım (bu yüzden işyerinde yaptığım şeyi yeniden kullanabilirim).
Genel olarak, şöyle diyor Miguel de Icaza ile aynı fikirdeyim:
- .NET uygulamalarının% 25'i mono ile kutunun dışında çalışıyor
- % 25 oranında bir gün veya daha kısa sürede çalışmak için yapılabilir
- bir hafta içinde% 25 daha çalışabilir
- Son% 25, uygulamanın tamamen yeniden yazılmasını gerektirir (WinForms / COM)
Mono oldukça iyi çalışıyor, ancak bazı sorunlar var:
- VB.NET sadece .NET için destek <= 2.0
- Windows kimlik doğrulaması uygulanmadı
- WPF uygulanmadı
- WCF desteği eksik
- Entity Framework uygulanmadı ve uygulama planları yok
- "ASP.NET Web Parts" uygulanmadı
- COM-birlikte çalışma desteği yok
- 15.5 sürümü için Sybase bağlantısı (en yeni) çalışmıyor
- C # sınıfı kütüphanesindeki hatalar ve eksiklikler (örneğin, XML mono <2.6'da buggy idi)
- Linux web tarayıcı kontrolü GTK # gerektirir
Sonra küçük sorunlar:
- Windows Forms çalışır, ancak her zaman düzgün şekilde oluşturulmaz
- MonoDevelop, Windows formları tasarlayamaz
- MonoDevelop 'adım adım' hata ayıklama gerçekten işe yaramıyor
- Mono-Service 5 saat sonra çöküyor ...
Söyleyebileceğim formu oluştur:
- Web Servisleri mükemmel çalışıyor
- Bir Web Uygulaması çalıştırırsanız, (WebParts kullanmıyorsa) oldukça iyi çalışır.
- WindowsForms çalıştırıyorsanız, her zaman çok hoş görünmeyecektir (en azını söyleyiniz).
- Microsoft Reporting Service için çalışma eşdeğeri yok (FYIreporting buna en yakın şey, ancak yavaş, hatalı ve çok eksik, artı bir yıldan beri hiçbir faaliyet yok)
- Word veya Excel belgeleri oluşturmanız gerekirse sorun yaşayacaksınız.
Linux üzerinde .NET geliştirmek istiyorsanız
- Orada ASP.NET geliştirebilirsiniz (hata ayıklama ve adım adım çok kötü çalışır)
- Linux'ta WinForms'i gerçekten geliştiremezsiniz
- WinForms yerine GTK # kullanmanız gerekir
Diğer bir deyişle:
- Mono, web uygulamalarını ve WebServisleri ve MailServisleri çalıştıran bir yere sahiptir.
- Ancak, WindowsForms uygulamalarını çalıştırmak uygun değildir, GTK # ile uygulama yazmanız gerekir.
- Bir raporlama çözümü ve MS dosya formatı desteği (veya bu nedenle çalışan kütüphanelerden) yoksundur
Düzenleme (2015 güncelleme):
Şimdiye kadar 'adım adım' hata ayıklamanın mükemmel şekilde çalıştığını ve Linux'ta web uygulamalarını geliştirmek için nuGet bağımlılıklarıyla bile MonoDevelop'u kullanabileceğini eklemek istedim. Excel ve Word kitaplıklarıyla ilgili problem de ortadan kalktı ve varlık çerçevesi şimdi açık kaynaklı. Gerisi "olduğu gibi" dır (mono-servisin sabit olup olmadığını bilmiyorum, ama umarım).
Bunun da artması, şimdi dağıtımınız için mevcut paketler alabilmenizdir, yani bir sonraki sürümüne kadar beklemenize gerek kalmaz, diyor Debian / Ubuntu, en son mono sürümünü alana kadar (kendiniz derlemek zorunda kalmadan) ). Bu önemli bir zaman tasarrufu.
Ayrıca, Roslyn'in piyasaya sürülmesi ile birlikte, VB.NET desteğinin yakın gelecekte daha iyi olması gerekir.