Mono

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(相关项目)
(项目)
 
(未显示2个用户的59个中间版本)
第1行: 第1行:
 
{{SeeWikipedia|Mono (software)}}
 
{{SeeWikipedia|Mono (software)}}
 +
 +
[[文件:mono-logo.png|right|Mono]]
 +
 +
Mono
 +
 +
==简介==
 +
Mono 是 ECMA CLI, C# 和 [[.NET]] 的开源实现,采用 MIT 许可协议。
  
 
Mono是一个由Novell公司主持的开源(GPL、LGPL、MIT X11、MPL)项目。该项目的目标是创建一系列符合ECMA标准(Ecma-334和Ecma-335)的.NET工具,包括C#编译器和共通语言执行平台。与微软的.NET Framework不同,Mono项目不仅可以运行于Windows系统上,还可以运行于Linux,FreeBSD,Unix,Mac OS X和Solaris。
 
Mono是一个由Novell公司主持的开源(GPL、LGPL、MIT X11、MPL)项目。该项目的目标是创建一系列符合ECMA标准(Ecma-334和Ecma-335)的.NET工具,包括C#编译器和共通语言执行平台。与微软的.NET Framework不同,Mono项目不仅可以运行于Windows系统上,还可以运行于Linux,FreeBSD,Unix,Mac OS X和Solaris。
  
 
Mono IDE: [[MonoDevelop]],单元测试:[[NUnit]]
 
Mono IDE: [[MonoDevelop]],单元测试:[[NUnit]]
 +
 +
==功能==
 +
 +
==规范实现==
 +
*[https://github.com/mono/mono Mono open source ECMA CLI, C# and .NET implementation. ]
 +
*[https://github.com/mono/mono/tree/master/mcs/mcs/ Mono C# compiler sources]
 +
*[https://www.mono-project.com/news/2018/09/11/csharp-jit/ Writing a JIT Compiler in C#]
 +
 +
==版本==
 +
*5.4
 +
*5.2
 +
*5.0
 +
*4.0
  
 
==兼容性==
 
==兼容性==
第25行: 第45行:
  
 
[http://www.mono-project.com/Compatibility 其它版本和部分实现、未实现功能 >>>]
 
[http://www.mono-project.com/Compatibility 其它版本和部分实现、未实现功能 >>>]
 +
 +
==macOS==
 +
下载[http://www.mono-project.com/docs/getting-started/install/mac/ 安装包]或
 +
brew install autoconf automake libtool pkg-config cmake
 +
brew install mono
 +
brew upgrade mono
 +
 
==Debian==
 
==Debian==
 
  apt-get install mono-2.0-devel // on Lenny (5.0).
 
  apt-get install mono-2.0-devel // on Lenny (5.0).
第30行: 第57行:
 
  apt-get install mono-complete // complete Mono on Squeeze (6.0), Wheezy (testing), Sid (unstable), or Experimental.
 
  apt-get install mono-complete // complete Mono on Squeeze (6.0), Wheezy (testing), Sid (unstable), or Experimental.
 
  mono-csc -help
 
  mono-csc -help
 +
 +
apt-get install openssh-server //安装oen ssh远程管理
 +
apt-get install apache2 //安装apache
 +
apt-get install mono-gmcs mono-xsp2 libapache2-mod-mono mono-apache-server2 //安装mono
 +
a2enmod mod_mono
 +
//命令会被打断 手动运行dpkg --configure -a 纠正问题
 +
vim /etc/apache2/mods-available/mod_mono.conf //配置.net引擎目录
 +
AddType appliction/x-asp-net  .aspx .ashx .asmx .ascx .asax .config .ascx .axd
 +
DirectoryIndex index.aspx
 +
MonoAutoApplication enable
 +
MonoServerPath "/usr/bin/mod-mono-server2"
 +
 +
Include /etc/mono-server2/mono-server2-hosts.conf
 +
/etc/init.d/apache2 resuart //重启apache
 +
 +
*[http://www.debianadmin.com/running-aspnet-applications-in-debian-and-ubuntu-using-xsp-and-mono.html Running ASP.NET Applications in Debian and Ubuntu using XSP and Mono]
 +
*[http://mono-project.com/Guide:_Porting_ASP.NET_Applications Porting ASP.NET Applications]
 +
 +
==Windows==
 +
在 Windows、Windows Server 上安装 Mono、替换 IIS 6、IIS 7、IIS 8。
  
 
==Apache==
 
==Apache==
Mono 实现了 [[ASP.NET]] 2.0, ASP.NET MVC and ASP.NET AJAX.
+
[[ASP.NET]] 4.0
 +
 
 +
ASP.NET 3.5
 +
 
 +
[http://www.mono-project.com/ASP.NET Mono 实现了 ASP.NET 2.0, ASP.NET MVC and ASP.NET AJAX]
  
 
通过[http://mono-project.com/Mod_mono mod_mono]运行在Apache Server上
 
通过[http://mono-project.com/Mod_mono mod_mono]运行在Apache Server上
  apt-get install mono-apache-server2 asp.net2-examples libapache2-mod-mono // 注意:这是ASP.NET 2.0 的版本
+
  apt-get install mono-apache-server2 asp.net-examples libapache2-mod-mono  
 
  vim /etc/apache2/httpd.conf
 
  vim /etc/apache2/httpd.conf
 
  Alias /webmsg "/var/www/webmsg"
 
  Alias /webmsg "/var/www/webmsg"
第45行: 第96行:
 
  http://localhost/webmsg/Login.aspx
 
  http://localhost/webmsg/Login.aspx
  
ASP.NET 3.5
+
===XSP===
 
+
apt-get install mono-xsp2 mono-xsp2-base asp.net-examples
ASP.NET 4.0
+
/usr/bin/mono /usr/lib/mono/2.0/xsp2.exe --port 8082 --address 0.0.0.0 --appconfigdir /etc/xsp2 --nonstop
 +
http://192.168.1.100:8082/samples/
  
 
==Nginx==
 
==Nginx==
 +
apt-get install nginx
 +
apt-get install mono-fastcgi-server4
 +
fastcgi-mono-server4 /version
 +
fastcgi-mono-server4.exe 2.10.0.0
 +
(c) 2007 Brian Nickel
 +
FastCGI Backend for XSP
 +
fastcgi-mono-server4 /applications=/:/web/aspx /socket=tcp:192.168.1.131:9000 &
 +
 +
Nginx配置
 +
server {
 +
        listen  80;
 +
        server_name  192.168.1.131;
 +
        access_log  /var/log/nginx/192.168.1.131.access.log;
 +
 +
        location / {
 +
                root /web/aspx;
 +
                index index.html index.htm default.aspx Default.aspx;
 +
                fastcgi_index Default.aspx;
 +
                fastcgi_pass 192.168.1.131:9000;
 +
                include /etc/nginx/fastcgi_params;
 +
        }
 +
}
 +
 
在[[Nginx]]运行 [http://mono-project.com/FastCGI_Nginx ASP.NET 和 ASP.NET MVC web 应用]
 
在[[Nginx]]运行 [http://mono-project.com/FastCGI_Nginx ASP.NET 和 ASP.NET MVC web 应用]
  
 
==Android==
 
==Android==
 +
[[Xamarin]].Android
 
[[文件:mono-android.png|right]]
 
[[文件:mono-android.png|right]]
 
*[http://xamarin.com/monoforandroid Mono for Android]
 
*[http://xamarin.com/monoforandroid Mono for Android]
 
*[http://www.suse.com/products/mono/features/android.html Mono for Android]
 
*[http://www.suse.com/products/mono/features/android.html Mono for Android]
 +
*[https://github.com/xamarin/XobotOS XobotOS] - [[Android]] ported to [[C Sharp|C#]], porting Android 4.0 from Java/Dalvik to C#.
  
 
==iOS==
 
==iOS==
 +
[[Xamarin]].iOS
 
[[文件:mono-ios.png|right]]
 
[[文件:mono-ios.png|right]]
 
*[http://xamarin.com/monotouch MonoTouch]
 
*[http://xamarin.com/monotouch MonoTouch]
 
*[http://www.suse.com/products/mono/features/monotouch.html MonoTouch for Apple iPad]
 
*[http://www.suse.com/products/mono/features/monotouch.html MonoTouch for Apple iPad]
  
==相关项目==
+
==MoMA==
 +
[http://www.mono-project.com/MoMA Mono Migration Analyzer (MoMA)]
 +
 
 +
==PostgreSQL==
 +
推荐在 [[.NET]] 和 [[Mono]] 上 使用 [[Npgsql]]
 +
*[http://mono-project.com/PostgreSQL PostgreSQL on Mono]
 +
 
 +
==项目==
 +
*[https://github.com/Unity-Technologies/mono Unity's Fork] of Mono [[Unity]]
 +
*[[Xamarin]]
 +
*[[MonoDevelop]]
 +
*[[MonoXNA]]
 
*[[MonoGame]]
 
*[[MonoGame]]
 +
*[[CocosSharp]]
 +
*[[Moonlight]]
 
*[[ServiceStack]]
 
*[[ServiceStack]]
 
*[[IKVM.NET]]
 
*[[IKVM.NET]]
 +
*[[OpenRA]]
 +
*[[KeePass]]
 +
*[[Pinta]]
 +
*[[Banshee]]
 +
*[https://github.com/mono/xwt XWT] cross-platform UI toolkit, using [[GtkSharp|Gtk#]].
 +
*[https://github.com/mono/CppSharp CppSharp]
 +
*[https://www.mono-project.com/news/2019/02/13/plastic-scm-a-full-version-control-stack-built-with-mono/ Plastic SCM: A Full Version Control Stack built with Mono] [https://www.plasticscm.com/ Plastic SCM]
 +
 +
==Code==
 +
*[https://github.com/mono/mono Mono @ GitHub]
 +
*[http://download.mono-project.com/sources/ Mono源代码下载]
 +
 +
==LLVM==
 +
*[http://www.mono-project.com/docs/advanced/mono-llvm/ Mono LLVM] [http://www.mono-project.com/docs/advanced/runtime/docs/llvm-backend/ LLVM Backend]
 +
*[https://github.com/mono/llvm Mono LLVM @ GitHub]
  
 
==图集==
 
==图集==
 
<gallery widths=100px heights=100px perrow=6>
 
<gallery widths=100px heights=100px perrow=6>
 +
image:simplified-mono-architecture.png|Mono架构
 +
Image:Cross-Platform-Mobile-Development-with-CSharp-and-DotNet.png|跨平台
 +
Image:xamarin-cross-platform-conceptual-architecture.png|Xamarin跨平台
 
Image:monotouch-for-ios.png|iOS
 
Image:monotouch-for-ios.png|iOS
 
Image:mono-for-android.png|Android
 
Image:mono-for-android.png|Android
第74行: 第183行:
 
Image:mod-mono-basic-setup.png|mod_mono
 
Image:mod-mono-basic-setup.png|mod_mono
 
Image:mod-mono-multiple-servers.png|mod_mono多服务器
 
Image:mod-mono-multiple-servers.png|mod_mono多服务器
 +
image:monotouch-in-app-purchase.png|App内付费
 +
image:designing-a-mobile-game-technology-stack.jpg|移动游戏框架
 
</gallery>
 
</gallery>
  
第80行: 第191行:
 
*[https://github.com/mono Mono @ GitHub]
 
*[https://github.com/mono Mono @ GitHub]
 
*[http://www.mono-project.com/ECMA Mono @ ECMA]
 
*[http://www.mono-project.com/ECMA Mono @ ECMA]
 +
*[http://www.mono-project.com/Monkeyguide Mono Handbook]
 +
*[http://mono-project.com/Monkeyguide http://xamarin.com Mono商业公司]
 +
*[http://www.ecma-international.org/publications/standards/Ecma-334.htm ECMA Standard 334 , the C# language specification.]
 +
*[http://www.ecma-international.org/publications/standards/Ecma-335.htm ECMA Standard 335 , the Common Language Infrastructure.]
 +
*[http://www.cnblogs.com/shanyou/archive/2012/07/28/2612919.html 国内 Mono 相关文章汇总]
  
[[Category:.NET]]
+
[[category:.NET]]
[[Category:Linux]]
+
[[category:linux]]
 +
[[category:mono]]
 +
[[category:C Sharp]]
 +
[[category:ASP.NET]]
 +
[[category:c programming language]]
 +
[[category:LLVM]]
 +
[[category:Huihoo Foundation]]

2022年3月2日 (三) 04:43的最后版本

Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 Mono Thanks, Wikipedia.
Mono

Mono

目录

[编辑] 简介

Mono 是 ECMA CLI, C# 和 .NET 的开源实现,采用 MIT 许可协议。

Mono是一个由Novell公司主持的开源(GPL、LGPL、MIT X11、MPL)项目。该项目的目标是创建一系列符合ECMA标准(Ecma-334和Ecma-335)的.NET工具,包括C#编译器和共通语言执行平台。与微软的.NET Framework不同,Mono项目不仅可以运行于Windows系统上,还可以运行于Linux,FreeBSD,Unix,Mac OS X和Solaris。

Mono IDE: MonoDevelop,单元测试:NUnit

[编辑] 功能

[编辑] 规范实现

[编辑] 版本

  • 5.4
  • 5.2
  • 5.0
  • 4.0

[编辑] 兼容性

.NET 4.0 完全实现:

  • C# 4.0
  • ASP.Net 4.0
  • ASP.Net MVC 1 and MVC 2
  • System.Numerics
  • Managed Extensibily Framework - Shared with .NET via MS-PL license
  • Dynamic Language Runtime - Shared with .NET via MS-PL license
  • Client side OData - Shared with .NET via MS-PL license
  • Parallel Framework and PLINQ

.NET 3.5 完全实现:

  • C# 3.0
  • System.Core
  • LINQ
  • ASP.Net 3.5
  • ASP.Net MVC
  • LINQ to SQL - Mostly done, but a few features missing

其它版本和部分实现、未实现功能 >>>

[编辑] macOS

下载安装包

brew install autoconf automake libtool pkg-config cmake
brew install mono
brew upgrade mono

[编辑] Debian

apt-get install mono-2.0-devel // on Lenny (5.0).
apt-get install mono-devel // on Squeeze (6.0), Wheezy (testing), Sid (unstable), or Experimental.*
apt-get install mono-complete // complete Mono on Squeeze (6.0), Wheezy (testing), Sid (unstable), or Experimental.
mono-csc -help
apt-get install openssh-server //安装oen ssh远程管理
apt-get install apache2 //安装apache
apt-get install mono-gmcs mono-xsp2 libapache2-mod-mono mono-apache-server2 //安装mono
a2enmod mod_mono

//命令会被打断 手动运行dpkg --configure -a 纠正问题

vim /etc/apache2/mods-available/mod_mono.conf //配置.net引擎目录
AddType appliction/x-asp-net  .aspx .ashx .asmx .ascx .asax .config .ascx .axd
DirectoryIndex index.aspx
MonoAutoApplication enable
MonoServerPath "/usr/bin/mod-mono-server2"

Include /etc/mono-server2/mono-server2-hosts.conf

/etc/init.d/apache2 resuart //重启apache

[编辑] Windows

在 Windows、Windows Server 上安装 Mono、替换 IIS 6、IIS 7、IIS 8。

[编辑] Apache

ASP.NET 4.0

ASP.NET 3.5

Mono 实现了 ASP.NET 2.0, ASP.NET MVC and ASP.NET AJAX

通过mod_mono运行在Apache Server上

apt-get install mono-apache-server2 asp.net-examples libapache2-mod-mono 
vim /etc/apache2/httpd.conf
Alias /webmsg "/var/www/webmsg"
MonoApplications "/webmsg:/var/www/webmsg"
<Location /webmsg>
        SetHandler mono
</Location> 
然后 /etc/init.d/apache2 restart
http://localhost/webmsg/Login.aspx

[编辑] XSP

apt-get install mono-xsp2 mono-xsp2-base asp.net-examples
/usr/bin/mono /usr/lib/mono/2.0/xsp2.exe --port 8082 --address 0.0.0.0 --appconfigdir /etc/xsp2 --nonstop
http://192.168.1.100:8082/samples/

[编辑] Nginx

apt-get install nginx
apt-get install mono-fastcgi-server4
fastcgi-mono-server4 /version
fastcgi-mono-server4.exe 2.10.0.0
(c) 2007 Brian Nickel
FastCGI Backend for XSP
fastcgi-mono-server4 /applications=/:/web/aspx /socket=tcp:192.168.1.131:9000 &

Nginx配置

server {
        listen   80;
        server_name  192.168.1.131;
        access_log   /var/log/nginx/192.168.1.131.access.log;

        location / {
                root /web/aspx;
                index index.html index.htm default.aspx Default.aspx;
                fastcgi_index Default.aspx;
                fastcgi_pass 192.168.1.131:9000;
                include /etc/nginx/fastcgi_params;
        }
}

Nginx运行 ASP.NET 和 ASP.NET MVC web 应用

[编辑] Android

Xamarin.Android

Mono-android.png

[编辑] iOS

Xamarin.iOS

Mono-ios.png

[编辑] MoMA

Mono Migration Analyzer (MoMA)

[编辑] PostgreSQL

推荐在 .NETMono 上 使用 Npgsql

[编辑] 项目

[编辑] Code

[编辑] LLVM

[编辑] 图集

[编辑] 链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱