Bisakah saya mengkompilasi kode .NET C # di Mac saya?

22

Saya perlu cara untuk menyeberang kompilasi sepotong pendek .NET C # kode ke dll, yang kemudian akan menjalankan lingkungan Windows klien.

Saya menjalankan OS X 10.9.2 pada iMac.

Adakah yang tahu alat apa yang memungkinkan ini?

Saya lebih suka tidak menginstal Parallels dan Windows jika saya dapat menemukan cara untuk mengkompilasi silang ini tanpa perlu menginstal banyak alat Microsoft.

Jagra
sumber

Jawaban:

21

Lihat Proyek Mono. Mungkin itu yang Anda cari.

http://www.mono-project.com/Mono:OSX

MonoDevelop adalah IDE lintas-platform yang terutama dirancang untuk C # dan bahasa .NET lainnya. MonoDevelop memungkinkan pengembang untuk dengan cepat menulis aplikasi desktop dan ASP.NET Web di Linux, Windows dan Mac OSX. MonoDevelop memudahkan pengembang untuk mem-port aplikasi .NET yang dibuat dengan Visual Studio ke Linux dan Mac OSX mempertahankan basis kode tunggal untuk semua platform.

level42
sumber
monodevelop.com MonoDevelop adalah IDE lintas-platform yang terutama dirancang untuk C # dan bahasa .NET lainnya. MonoDevelop memungkinkan pengembang untuk dengan cepat menulis aplikasi desktop dan ASP.NET Web di Linux, Windows dan Mac OSX. MonoDevelop memudahkan pengembang untuk mem-port aplikasi .NET yang dibuat dengan Visual Studio ke Linux dan Mac OSX mempertahankan basis kode tunggal untuk semua platform. - Jika Anda tidak dapat mengkompilasi kode Anda dengan benar dengan MonoDevelop, mereka mungkin Anda tidak punya pilihan selain menjalankan VM.
level42
Terima kasih, saya telah melihat Mono, tetapi sementara itu seharusnya berfungsi, saya tidak menemukan "cara" yang jelas untuk menginstal atau menggunakannya.
Jagra
1
@Jagra Ada beberapa video tutorial di sini: youtube.com/result?search_query=monodevelop+install+mac
level42
1
Hanya untuk menghilangkan keraguan: Ya , jika Anda mengkompilasi DLL pada Mono, itu akan berjalan pada Windows tanpa modifikasi apa pun, mengingat bahwa Anda tidak menggunakan perpustakaan Mono tertentu , seperti Mono.Addin atau Mono.Simd. Ini berjalan baik, juga - DLL / EXE dikompilasi pada Visual Studio akan menjalankan unmodifed pada Mono, mengingat bahwa Anda tidak menggunakan perpustakaan Microsoft / Windows tertentu seperti WPF, Workflow Foundation, COM + dll
NothingsImpossible
1
@Jagra: Setelah Anda menginstal Mono (dan MonoDevelop jika Anda menginginkannya) dari go-mono.com/mono-downloads/download.html , itu sangat mudah digunakan. Bahkan tanpa MonoDevelop, Anda harus dapat mengkompilasi sebagian besar proyek .sln langsung dari Visual Studio, menggunakan xbuild.
Jwosty
8

Jika Anda memiliki Mac, Anda dapat mengkompilasi C # seperti ini:

Kompilasi: mcs fileName.cs
Jalankan:mono fileName.exe

Jika Anda tidak menginstal Mono di Mac Anda, Anda dapat google dan menginstalnya lalu Anda akan baik-baik saja. Anda tidak perlu Windows untuk melakukan ini.

dany
sumber
5

Anda dapat menginstalnya dengan homebrew :

brew install mono

Maka Anda dapat menggunakannya dengan:

mcs hello.cs
mono hello.exe
Dorian
sumber
1

Tidak ada pengalaman pribadi dengan IDE ini tetapi sepertinya ini akan berhasil: http://monodevelop.com

atldeadhead
sumber
1

Bisakah saya mengkompilasi kode .NET C # di Mac saya?

Anda dapat mengkompilasi kode C # ya.

Saya lebih suka tidak menginstal Parallels dan Windows jika saya dapat menemukan cara untuk mengkompilasi silang ini tanpa perlu menginstal banyak alat Microsoft.

Mono tidak memiliki kompatibilitas 100% dengan implementasi .NET.

Infrastruktur Bahasa Umum (CLI) adalah kerangka kerja untuk mengeksekusi kode terkelola. CLI terdiri dari beberapa bagian termasuk Virtual Execution System (VES). .NET's VES adalah Common bahasa Runtime. Mono memiliki implementasi VES sendiri yang terpisah.

Dengan kata lain, setidaknya jangan berharap untuk menjalankan kode yang hanya telah diuji di lingkungan * nix / OSX untuk berjalan tanpa mengujinya di lingkungan windows .

P.Brian.Mackey
sumber