ฉันสามารถรวบรวมรหัส. NET C # บน Mac ของฉันได้ไหม


22

ฉันต้องการวิธีในการคอมไพล์รหัส. NET C # สั้น ๆ ให้เป็น dll ซึ่งจะเรียกใช้สภาพแวดล้อม Windows ของลูกค้า

ฉันรัน OS X 10.9.2 บน iMac

ไม่มีใครรู้ว่าเครื่องมือใดอนุญาตให้ทำเช่นนี้?

ฉันจะไม่ติดตั้ง Parallels และ Windows หากฉันสามารถหาวิธีที่จะรวบรวมสิ่งนี้ได้โดยไม่ต้องใช้เครื่องมือของ Microsoft ในการติดตั้ง

คำตอบ:


21

ตรวจสอบโครงการโมโน อาจเป็นสิ่งที่คุณกำลังมองหา

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

MonoDevelopเป็น IDE ข้ามแพลตฟอร์มที่ถูกออกแบบมาสำหรับภาษา C # และ. NET อื่น ๆ เป็นหลัก MonoDevelop ช่วยให้นักพัฒนาสามารถเขียนเดสก์ท็อปและ ASP.NET เว็บแอพพลิเคชั่นบน Linux, Windows และ Mac OSX ได้อย่างรวดเร็ว MonoDevelop ช่วยให้ผู้พัฒนาพอร์ตแอปพลิเคชั่น. NET ที่สร้างขึ้นด้วย Visual Studio เป็น Linux และ Mac OSX คงไว้ซึ่งรหัสฐานเดียวสำหรับทุกแพลตฟอร์ม


monodevelop.com MonoDevelop เป็น IDE ข้ามแพลตฟอร์มที่ออกแบบมาสำหรับภาษา C # และภาษา. NET อื่น ๆ เป็นหลัก MonoDevelop ช่วยให้นักพัฒนาสามารถเขียนเดสก์ท็อปและ ASP.NET เว็บแอพพลิเคชั่นบน Linux, Windows และ Mac OSX ได้อย่างรวดเร็ว MonoDevelop ช่วยให้ผู้พัฒนาพอร์ตแอปพลิเคชั่น. NET ที่สร้างขึ้นด้วย Visual Studio เป็น Linux และ Mac OSX คงไว้ซึ่งรหัสฐานเดียวสำหรับทุกแพลตฟอร์ม - หากคุณไม่สามารถคอมไพล์โค้ดของคุณอย่างถูกต้องด้วย MonoDevelop พวกเขาอาจไม่มีทางเลือกนอกจากเรียกใช้ VM
level42

ขอบคุณฉันเคยดู Mono แต่ในขณะที่ใช้งานได้ฉันไม่พบวิธีการติดตั้งหรือใช้งานที่ชัดเจน
Jagra

1
@Jagra มีวิดีโอแนะนำบางบทอยู่ที่นี่: youtube.com/results?search_query=monodevelop+install+mac
level42

1
เพื่อขจัดข้อสงสัย: ใช่ถ้าคุณรวบรวม DLL บน Mono มันจะทำงานบน Windows โดยไม่มีการดัดแปลงใด ๆเนื่องจากคุณไม่ได้ใช้ไลบรารี Mono ใด ๆเช่น Mono.Addin หรือ Mono.Simd มันไปได้ทั้งสองวิธีเช่นกัน - DLL / EXE ที่คอมไพล์บน Visual Studio จะเรียกใช้ unmodifed บน Mono เนื่องจากคุณไม่ได้ใช้ไลบรารี Microsoft / Windows เฉพาะเช่น WPF, Workflow Foundation, COM + ฯลฯ
NothingsImpossible

1
@Jagra: เมื่อคุณติดตั้ง Mono (และ MonoDevelop ถ้าคุณต้องการ) จากgo-mono.com/mono-downloads/download.htmlมันใช้งานง่ายมาก แม้จะไม่มี MonoDevelop คุณควรจะสามารถรวบรวมโครงการ .sln ที่สุดตรงจาก Visual Studio xbuildใช้
Jwosty

8

หากคุณมี Mac คุณสามารถคอมไพล์ C # ดังนี้:

รวบรวม: mcs fileName.cs
เรียกใช้:mono fileName.exe

หากคุณไม่มีMonoติดตั้งบน Mac ของคุณคุณสามารถ google และติดตั้งแล้วคุณก็จะดี คุณไม่จำเป็นต้องให้ Windows ทำเช่นนี้





1

ฉันสามารถรวบรวมรหัส. NET C # บน Mac ของฉันได้ไหม

คุณสามารถคอมไพล์รหัส C # ได้

ฉันจะไม่ติดตั้ง Parallels และ Windows หากฉันสามารถหาวิธีที่จะรวบรวมสิ่งนี้ได้โดยไม่ต้องใช้เครื่องมือของ Microsoft ในการติดตั้ง

Mono ไม่มีความเข้ากันได้ 100%กับการใช้งาน. NET

Common Language Infrastructure (CLI) เป็นเฟรมเวิร์กสำหรับการเรียกใช้งานโค้ดที่ได้รับการจัดการ CLI ประกอบด้วยหลายส่วนรวมถึง Virtual Execution System (VES) VES ของ. NET เป็นรันไทม์ภาษาทั่วไป Mono มีการใช้ VES แยกต่างหาก

ในคำอื่น ๆ ที่อย่างน้อยที่สุดไม่คาดว่าจะใช้รหัสที่ได้รับเพียงการทดสอบในสภาพแวดล้อมของศูนย์ * / OSX ให้ทำงานโดยไม่มีการทดสอบบนสภาพแวดล้อมที่หน้าต่าง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.