linux mono是指xamarin公司開發(fā)的跨平臺.NET運行環(huán)境;Mono是一個由Xamarin公司所主持的自由開放源代碼項目,該項目的目標是創(chuàng)建一系列匹配ECMA標準的.NET工具,包括C#編譯器和通用語言架構(gòu)。
本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。
linux mono是什么?
Xamarin公司開發(fā)的跨平臺 .NET運行環(huán)境。
Mono是一個由Xamarin公司(先前是Novell,最早為Ximian)所主持的自由開放源代碼項目。該項目的目標是創(chuàng)建一系列匹配ECMA標準(Ecma-334和Ecma-335)的.NET工具,包括C#編譯器和通用語言架構(gòu)。 與微軟的.NET Framework(共通語言運行平臺)不同,Mono項目不僅可以運行于windows系統(tǒng)上,還可以運行于Linux,F(xiàn)reeBSD,unix,OS X和Solaris,甚至一些游戲平臺,例如:Playstation 3,Wii或xbox 360。
背景:
Mono是一個由Novell公司(由Xamarin發(fā)起)主持的項目,并由Miguel de lcaza領(lǐng)導的,一個致力于開創(chuàng).NET在Linux上使用的開源工程。它包含了一個C#語言的編譯器,一個CLR的運行時,和一組類庫,并實現(xiàn)了 ADO NET和ASP NET。能夠使得開發(fā)人員在Linux用C#開發(fā)程序。該項目的目標是創(chuàng)建一系列符合標準ECMA (Ecma-334和Ecma-335)的.Net 工具, 包括C #編譯器和共同語言(CL 即 Common Language)執(zhí)行平臺(Platform).與微軟的.Net不同, Mono項目不僅可以運行于Windows系統(tǒng)內(nèi),還可以運行于Linux,?FreeBSD, Unix,?Mac OS X和Solaris。?
Mono現(xiàn)由Novell持有雙重許可, 這和qt、Mozilla應用程序套件的情況相似.Mono的C #編譯器及其相關(guān)工具發(fā)布于gnu General public License (GPL)之下,其運行時庫發(fā)布于GNU Lesser General Public License (LGPL)之下,其類庫發(fā)布于MIT?License之下.這些均是開源協(xié)議因此Mono是一個開源軟件.如果你打算向Mono貢獻你的源碼,則你須簽署一個版權(quán)分派給Novell以允許它將這些代碼在其它協(xié)議下再申請許可,從而允許Novell保留其雙重許可的能力來持有Mono的商業(yè)協(xié)議。
微軟開發(fā)了一個稱為共享源碼公共語言基礎(chǔ)(Shared Source Common Language Infrastructure, Shared Source CLI)的可用于FreeBSD, Windows, Mac OS X的.NET實現(xiàn)版本.微軟的共享源碼協(xié)議并不是開源軟件協(xié)議,且可能對于社區(qū)來說也是不足夠的(它明文禁止了對軟件的商業(yè)用途).我們還可以見到另外一個.NET實現(xiàn)版本, Portable NET項目,該項目與Mono項目有著很多相同的目標.
Mono虛擬機包含一個實時編譯引擎,該引擎可用于如下處理器:?x86,?SPARC,?PowerPC,?ARM, S390 (32位模式和64位模式), x86-x64,?IA64和64位模式的SPARC.該虛擬機可以將代碼實時編譯或者預先編譯到原生代碼.對于那些沒有列出來的系統(tǒng),則使用的是代碼解釋器.
推薦學習:《linux視頻教程》