Tôi có thể biên dịch mã .NET C # trên máy Mac không?


22

Tôi cần một cách để biên dịch chéo một đoạn mã .NET C # ngắn thành một dll, sau đó sẽ chạy môi trường Windows của máy khách.

Tôi chạy OS X 10.9.2 trên iMac.

Có ai biết công cụ nào cho phép điều này?

Tôi thà không cài đặt Parallels và Windows nếu tôi có thể tìm cách biên dịch chéo cái này mà không cần cài đặt nhiều công cụ của Microsoft.

Câu trả lời:


21

Kiểm tra Dự án Mono. Nó có thể là những gì bạn đang tìm kiếm.

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

MonoDevelop là một IDE đa nền tảng được thiết kế chủ yếu cho C # và các ngôn ngữ .NET khác. MonoDevelop cho phép các nhà phát triển viết nhanh các ứng dụng Web trên máy tính để bàn và ASP.NET trên Linux, Windows và Mac OSX. MonoDevelop giúp các nhà phát triển dễ dàng chuyển các ứng dụng .NET được tạo bằng Visual Studio sang Linux và Mac OSX duy trì một cơ sở mã duy nhất cho tất cả các nền tảng.


monodevelop.com MonoDevelop là một IDE đa nền tảng được thiết kế chủ yếu cho C # và các ngôn ngữ .NET khác. MonoDevelop cho phép các nhà phát triển viết nhanh các ứng dụng Web trên máy tính để bàn và ASP.NET trên Linux, Windows và Mac OSX. MonoDevelop giúp các nhà phát triển dễ dàng chuyển các ứng dụng .NET được tạo bằng Visual Studio sang Linux và Mac OSX duy trì một cơ sở mã duy nhất cho tất cả các nền tảng. - Nếu bạn không thể biên dịch mã chính xác với MonoDevelop, họ có thể không có lựa chọn nào khác ngoài chạy VM.
cấp42

Thx, tôi đã xem Mono, nhưng trong khi nó hoạt động, tôi không tìm thấy "cách" rõ ràng để cài đặt hoặc sử dụng nó.
Jagra

1
@Jagra Có một vài video hướng dẫn tại đây: youtube.com/results?search_query=monodevelop+install+mac
level42

1
Chỉ cần giải quyết mọi nghi ngờ: , nếu bạn biên dịch DLL trên Mono, nó sẽ chạy trên Windows mà không cần sửa đổi gì, cho rằng bạn không sử dụng bất kỳ thư viện Mono cụ thể nào , chẳng hạn như Mono.Addin hoặc Mono.Simd. Nó cũng đi theo cả hai cách - một DLL / EXE được biên dịch trên Visual Studio sẽ chạy không thay đổi trên Mono, với điều kiện là bạn không sử dụng bất kỳ thư viện Microsoft / Windows cụ thể nào như WPF, Workflow Foundation, COM +, v.v.
NothingsImpossible

1
@Jagra: Khi bạn cài đặt Mono (và MonoDevelop nếu bạn muốn) từ go-mono.com/mono-doads/doad.html , nó rất dễ sử dụng. Ngay cả khi không MonoDevelop, bạn nên có thể biên dịch các dự án sln nhất trực tiếp từ Visual Studio, sử dụng xbuild.
Jwosty

8

Nếu bạn có máy Mac, bạn có thể biên dịch C # như thế này:

Biên dịch: mcs fileName.cs
Chạy:mono fileName.exe

Nếu bạn chưa cài đặt Mono trên máy Mac, bạn có thể google nó và cài đặt nó và sau đó bạn sẽ ổn. Bạn không cần Windows để làm điều này.


5

Bạn có thể cài đặt nó với homebrew :

brew install mono

Sau đó, bạn có thể sử dụng nó với:

mcs hello.cs
mono hello.exe



1

Tôi có thể biên dịch mã .NET C # trên máy Mac không?

Bạn có thể biên dịch mã C # có.

Tôi thà không cài đặt Parallels và Windows nếu tôi có thể tìm cách biên dịch chéo cái này mà không cần cài đặt nhiều công cụ của Microsoft.

Mono không có khả năng tương thích 100% với việc triển khai .NET.

Cơ sở hạ tầng ngôn ngữ chung (CLI) là một khung để thực thi mã được quản lý. CLI bao gồm một số phần bao gồm Hệ thống thực thi ảo (VES). VES của .NET là ngôn ngữ chung Thời gian chạy. Mono có triển khai VES riêng.

Nói cách khác, ít nhất đừng mong đợi chạy mã chỉ được thử nghiệm trong môi trường * nix / OSX để chạy mà không thử nghiệm nó trên môi trường windows .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.