Czy mogę bez problemu używać Linux / Mono zamiast Windows / Visual Studio? [Zamknięte]

9

Mam ponad 6 lat doświadczenia w programach .Net (C # / ASP.NET) i Visual Studio. Ale ostatnio mam ochotę przejść na Linux / Mono. Pojawia się kilka pytań:

  1. Czy mogę poprawnie uruchomić moje stare projekty Visual Studio i kody źródłowe w Mono?

  2. Moi klienci używają IIS dla ASP.NET i MS Windows dla projektów Winform i Console. Czy moja migracja ich dotyczy? Innymi słowy, czy moje projekty Mono działają w systemie Windows / IIS bez żadnych zmian lub problemów?

  3. Czy Mono jest niezawodne, biorąc pod uwagę ostatnie zmiany Mono, Novell, Xamarin i Attachme?

  4. Czy mogę nadal korzystać z moich ulubionych programów typu open source i żadnych projektów typu open source, takich jak NHibernate, Castle, Cuyahoga, log4net, Microsoft Enterprise Library i DNN?

  5. Czy mogę bez problemu obsługiwać projekty sieciowe Mono ASP.NET w Apache?

  6. Czy mogę dokładnie wykorzystać swoje umiejętności w formularzach internetowych ASP.NET i MVC w Mono?

Afshar Mohebbi
źródło
2
Może… Założę się, że odpowiedź brzmi „nie”, ale jestem pewien, że jakiś facet z Mono to pokłóci. Jeśli poważnie myślisz, powinieneś przeprowadzić testy i wypróbować je. To powinno być dla ciebie lepszym przewodnikiem niż przypadkowe opinie z internenta. Ponieważ ten, kto ci nie powie, nie będzie problemu, nie będzie tam robił tego, gdy wpadniesz w kłopoty.
SoylentGray
Tylko do twojej wiadomości, napisałem fajną aplikację ASP.Net z C # przy użyciu Mono i wdrożyłem ją na Ubuntu Server z uruchomionym Apache bez „dużych” problemów.
AngryBird
2
Bardzo wyczerpująca odpowiedź na to pytanie jest dostępna tutaj: Mono jest często używane do powiedzenia „Tak, .NET jest wieloplatformowy”. Jak ważne jest to roszczenie?
Robert Harvey

Odpowiedzi:

5

Czy mogę poprawnie uruchomić moje stare projekty Visual Studio i kody źródłowe w Mono?

Przez większą część. Jest trochę magii, którą możesz zrobić, kompilator mono nie poradzi sobie. Jednak większość ludzi tego nie robi. MonoDevelop otworzy pliki VS i pliki projektu normalnie bez żadnych problemów.

Moi klienci używają IIS dla ASP.NET i MS Windows dla projektów Winform i Console. Czy moja migracja ich dotyczy? Innymi słowy, czy moje projekty Mono działają w systemie Windows / IIS bez żadnych zmian lub problemów?

Będziesz chciał przetestować wszystko przed wdrożeniem do produkcji, ale zwykle nie jest to przypadek. Wszelkie problemy będą przypadkami na krawędzi.

Czy Mono jest niezawodne, biorąc pod uwagę ostatnie zmiany Mono, Novell, Xamarin i Attachme?

Xamarin nabył prawa i licencje na wszystko mono związane z Attachmate. To samo w sobie nie stanowi problemu. Xamarin udostępnia zasoby, aby uczynić MonoDevelop lepszym produktem. Miniony weekend spędzam z wieloma członkami zespołu mono, którzy chcą kontynuować linię produktów; jednak większy nacisk zostanie położony na rzeczy mobilne. Rzeczy po stronie serwera nie zostaną zignorowane, ale nie oczekiwałbym najszybszego przyjęcia nowych rzeczy.

Czy mogę nadal korzystać z moich ulubionych programów typu open source i żadnych projektów typu open source, takich jak NHibernate, Castle, Cuyahoga, log4net, Microsoft Enterprise Library i DNN?

Nie mogę komentować każdego projektu indywidualnie, ale wiele projektów będzie działać w trybie mono bez żadnych modyfikacji lub bez modyfikacji.

Czy mogę bez problemu obsługiwać projekty sieciowe Mono ASP.NET w Apache?

To zależy od twoich umiejętności apache, ale można to zrobić.

Czy mogę dokładnie wykorzystać swoje umiejętności w formularzach internetowych ASP.NET i MVC w Mono?

Nie powinno być różnicy w kodzie, który piszesz, między robieniem tego w VS i MonoDevelop.

Travis
źródło
Właśnie natknąłem się na przypadek, gdy kompilacja tego samego kodu w Mono i .NET C # daje różne wyniki ... (Wojny kodowe używają Mono C # i podczas gdy wyzwanie kodowania daje oczekiwane wyniki w Visual Studio, ładowanie tych w wojnach kodowych wyniki dla niektórych przypadki testowe dają różne wyniki. Mam staticmetody, używając rekurencji - wędruję, jeśli mono obsługuje argumenty metody (przez ref / by val) i statykę inaczej niż .NET C #? A może problem jest gdzie indziej: /
Prokurors
1

Należy wiedzieć o ASP.Net i Mono, że Mono właśnie zrezygnowało z obsługi ASP.net.

*** Uwaga: hmm .... Mógłbym przysiąc, że słyszałem to na podcastie Jeffa i Joela, ale Googling w okolicy nie daje mi dobrego odniesienia.

Scott C. Wilson
źródło
1
Jeśli tak, FAQ nie zostało jeszcze zaktualizowane. Jednak przeczytanie go sprawia wrażenie, że nawet jeśli obsługa ASP.NET nie jest całkowicie odrzucona, zależnie od Mono dla ASP.NET prawdopodobnie nie jest dobrym pomysłem. Jeśli nic innego, wsparcie jest zarówno częściowe, jak i kilka wersji opóźnionych.
Adam Lear
0

Czy Mono jest niezawodne, biorąc pod uwagę ostatnie zmiany Mono, Novell, Xamarin i Attachme?

Mono ma teraźniejszość i przyszłość. Nie zależą teraz od strategii dużej firmy. Xamarin ma prawa własności intelektualnej do Mono i powiązanych produktów.

Miguel de Icaza i Nat Friedman mają doświadczenie w zarządzaniu niezależną firmą typu open source.

Rufo El Magufo
źródło