C# na linuksie?


(fedora24x) #1

Jest coś takiego jak MONO, jak się go używa (kompiluje) i jakie ma możliwośći (debugowanie).

Potem taki program uwachamia tak ./program.exe czy przez WINE ???


(moh3r) #2

Ciężko streścić informacje o tak dużym projekcie. Zadaj bardziej konkretne pytania.

 

Do odpalenia programu potrzebujesz runtime Mono/.NET (na dowolnej platformie), Wine nie jest potrzebne.

 

http://www.mono-project.com/docs/getting-started/mono-basics/

http://www.mono-project.com/docs/about-mono/compatibility/


(fedora24x) #3

Konkretne pytania tak? Oto one:

  1. Jak zainstalować kompletny zestaw do C#?

    sudo apt-get install mono

coś więcej?

 

  1. Jak kompilować programy w C# a poczym je uruchamiać, normalnie? czyli z ./aplikacja czy z ./apliakacja.exe

albo jeszcze inaczej przez Wine?

 

  1. Jak debugować programy w C# na Linuksie?

  2. Da się tworzyć programy w C# z okienkami (nie konsolowe) bo na Windows są odpowiednie biblioteki pod to

dedykowane a na Linuksie już nie koniecznie? Może mono je zawiera? Lub da się użyć np. QT czy GTK?

  1. Zanzcie jakieś inne rzeczy w mono warte uwagi? Jakieś fajne triki, parametry kompilacji itp… ?

(moh3r) #4
  1. sudo apt-get install mono-devel

  2. Opis jest w linku, który wkleiłem w poprzednim poście

  3. Jest sdb, można też użyć standardowego gdb (albo skorzystać z jakiegoś IDE np. MonoDevelop)

  4. Tak, jest GTK#, WinForms

  5. Najpierw naucz się podstaw


(fedora24x) #5

Dzięki za pomoc, a co pkt. 5 z C# nie mam problemów, ale narzedzie będę musiał ogarnąć :-/


(moh3r) #6

IMHO nie warto, C# na innych niż Windows platformach jest malutką niszą.


(rpm) #7

Ja to instaluje tym poleceniem

sudo apt-get install monodevelop

Jednak zainstalowałem Monodevelop 4.5 i przy kompilowaniu aplikacji konsolowej pojawia się taki błąd:

Could not open port for debugger.

Mimo iż zainstalowany xterm.  Wyszukałem w sieci że trzeba wpisać to w konsoli:

$ unset GNOME_DESKTOP_SESSION_ID
$ monodevelop

I tu jest problem, że muszę ciągle odpalać Monodevelop przez konsolę wtedy kompilacja działa, a jak uruchamiam przez ikonę toż znowu wyskakuje ten błąd.  Nie wiem jak zainstalować najnowszą wersję MD 4.7.1, w repozytorium mam tylko 4.5


(nintyfan) #8

Lepiej nauczyć się Vala. Vala to język wzorowany na C# i Java, a jest od nich szybszy, gdyż jest najpierw kompilowany do C, a potem do kodu natywnego. Vala posiada ścisłą integrację z GLIB i DBus-em.


(moh3r) #9

Hobbystycznie może i tak, ale profesjonalnie nie warto.


(mikolaj_s) #10

Vala to ciekawy język, ale ma swoje minusy. Lepiej niż C# użyć Java jest wieloplatformowa.


(fedora24x) #11

A okienka na C# za pomocą GTK moge się z tego nauczyć?

 

http://www.mono-project.com/docs/gui/gtksharp/tutorials/

 

Macie jakieś inne uwagi do C# pod Linuksem i do MONO

 

 

Poza tym -> Dzięki to pomogło, bo Unity wywalało błąd w Ubuntu 14.04