΢ÈíÍÆ³öµÄµÚÒ»¸ö°æ±¾µÄ.NET
FrameworkÊÇÒ»¸öÃæÏòWindows×ÀÃæºÍ·þÎñÆ÷µÄ»ù´¡¿ò¼Ü£¬ÔÚ´ËÖ®ºó£¬Îª´Ë΢Èí¸ù¾ÝÉ豸×ÔÉíµÄÐèÇó¶Ô.NET
Framework½øÐвüô£¬²»¶ÏÍÆ³öÁËÕë¶Ô¾ßÌåÉ豸ÀàÐ͵Ä.NET Framework°æ±¾ÒÔʵÏÖÕë¶ÔÒÆ¶¯¡¢Æ½°åºÍǶÈëʽÉ豸Ìṩ֧³Ö¡£³ý´ËÖ®Í⣬ÔÚWindowsƽ̨֮ÍâÒ»ÖÂÓε´×ÅÒ»Ö»ÌØÁ¢¶ÀÐеĺï×Ó£¨Mono£©¡£.NETƽ̨¿´ÆðÀ´ÐÀÐÀÏòÈÙ£¬¶øÊµ¼ÊÉÏÈ´ÈÕ±¡Î÷ɽ£¬¾ÍÔÚÕâ¸öʱºò΢Èí×ßÁËÒ»ÌõΨһÕýÈ·µÄµÀ·£¬ÄǾÍÊÇ»ùÓÚ¿çÆ½Ì¨ÀíÄîÖØÐÂÉè¼ÆµÄ.NET
Core£¬ÒÔ¼°ÓÉ´ËÇý¶¯µØ¶ÔÕû¸ö.NETƽ̨½øÐÐȫв¼¾Ö¡£
.NET Core¿çƽ̨µÄ°ÂÃØ[ÉÏÆª]£ºÀúÊ·µÄ¼ÏËø
.NET Core¿çƽ̨µÄ°ÂÃØ[ÖÐÆª]£º¸´ÓÃÖ®éä
.NET Core¿çƽ̨µÄ°ÂÃØ[ÏÂÆª]£ºÈ«ÐµIJ¼¾Ö
¶ÔÓÚ¼ÆËã»ú´ÓÒµÈËÔ±À´Ëµ£¬¡°Æ½Ì¨£¨Platform£©¡±ÊÇÒ»¸öÎÒÃÇ˾¿Õ¼û¹ßµÄ´ÊÓÔÚ²»Í¬µÄÓï¾³ÖÐËü¾ßÓв»Í¬µÄÓïÒ壬±ÈÈçËü¿ÉÒÔÖ¸´ú²Ù×÷ϵͳ»·¾³ºÍCPU¼Ü¹¹ÀàÐÍ£¬Ò²¿ÉÒÔ±íʾӲ¼þÉ豸ÀàÐÍ¡£¾¹ý¶àÄêµÄ¿àÐľӪ£¬Î¢ÈíÒѾΪÔÚWindowsƽ̨Ϲ¹½¨ÁËÒ»¸öÍêÕûµÄÖ§³Ö¶àÖÖÉ豸µÄ.NETÉú̬ϵͳ¡£Óë´Ëͬʱ£¬Í¨¹ý½èÖúÓÚMonoºÍXamarin£¬.NETÒѾ¿ÉÒÔ±»³É¹¦ÒÆÖ²µ½°üÀ¨Mac
OS X¡¢Linux¡¢iOS¡¢AndroidºÍFreeBSDµÈ·ÇWindowsƽ̨¡£
Ò»¡¢WindowsϵÄ.NET
΢ÈíÔÚ2002ÄêÍÆ³öÁ˵ÚÒ»¸ö°æ±¾µÄ .NET Framework£¬ÕâÊÇÒ»¸öÖ÷ÒªÃæÏòWindows ×ÀÃæ£¨Windows
Forms£©ºÍ·þÎñÆ÷£¨ASP.NET Web Forms£©µÄ»ù´¡¿ò¼Ü¡£ÔÚ´ËÖ®ºó£¬PCµÄ°ÔÖ÷µØÎ»²»¶ÏÊܵ½ÆäËûÉ豸µÄÌôÕ½ÉõÖÁÈ¡´ú£¬Îª´Ë΢Èí¸ù¾ÝÉ豸×ÔÉíµÄÐèÇó¶Ô.NET
Framework×÷ÁËÏàÓ¦µÄ¼ò»¯ºÍ¸Ä±ä£¬²»¶ÏÍÆ³öÁËÕë¶Ô¾ßÌåÉ豸ÀàÐ͵Ä.NET Framework£¬Ö÷Á÷µÄ°üÀ¨Windows
Phone¡¢Windows Store¡¢SilverlightºÍ.NET Micro FrameworkµÈ£¬ËüÃÇ·Ö±ð¶ÔÒÆ¶¯¡¢Æ½°åºÍǶÈëʽÉ豸Ìṩ֧³Ö¡£ÓÉÓÚÕâЩ²»Í¬µÄ.NET
Framework·ÖÖ§ÊÇÍêÈ«¶ÀÁ¢µÄ£¬ÕâʹÎÒÃǺÜÄÑ¿ª·¢Ò»¸öÖ§³Ö¶àÖÖÉ豸µÄ¡°¿ÉÒÆÖ²£¨Portable£©¡±Ó¦Óá£
.NET FrameworkµÄ²ã´Î½á¹¹
Õë¶Ô²»Í¬É豸.NET FrameworkµÄ¶ÀÁ¢ÐÔµ¼ÖÂÁËÔںܶàÇé¿öÏÂÎÒÃDz»µÃ²»Õë¶Ô¾ßÌåµÄÉ豸ƽ̨½øÐбà³Ì£¬¿çÉ豸ƽ̨´úÂëµÄÖØÓÃÏÔµÃÒì³£À§ÄÑ¡£ÎªÁËÈöÁÕßÅóÓÑÃǶÔÕâ¸öÎÊÌâ¾ßÓÐÉî¿ÌµØÀí½â£¬ÎÒÃÇ´Ó.NET
FrameworkµÄ½á¹¹¿ªÊ¼½²Æð¡£´Ó½á¹¹×é³ÉµÄ½Ç¶ÈÀ´½²£¬.NET FrameworkÓÉÈçÏÂͼËùʾµÄÁ½¸ö²ãÎö¹¹³É£¬ËüÃÇ·Ö±ðÊÇÌṩÔËÐл·¾³µÄCLR£¨Common
Language Runtime£©ºÍÌṩAPIµÄFCL£¨Framework Class Library£©¡£

CLRÖ®ÓÚ.NETµÈͬÓÚJVMÖ®ÓÚJava£¬ËüÊÇ.NETÐéÄâ»ú¡£×÷Ϊһ¸öÔËÐÐʱ£¨Runtime£©£¬CLRΪ³ÌÐòµÄÖ´ÐÐÌṩһ¸öÍйܣ¨Managed£©µÄÖ´Ðл·¾³£¬ËüÊÇ.NET
FrameworkµÄÖ´ÐÐÒýÇæ£¬ÎªÍйܳÌÐòµÄÖ´ÐÐÌṩÄÚ´æ·ÖÅä¡¢À¬»ø»ØÊÕ¡¢°²È«¿ØÖÆ¡¢Òì³£´¦ÀíºÍ¶àÏ̹߳ÜÀíµÈ·½ÃæµÄ·þÎñ¡£CLRÊÇ.NET
FrameworkµÄ×Ó¼¯£¬µ«ÊÇÁ½ÕßÈ´¾ßÓв»Í¬µÄ°æ±¾²ßÂÔ¡£µ½Ä¿Ç°ÎªÖ¹£¬Î¢Èí½ö½ö·¢²¼ÁË4¸ö°æ±¾µÄCLR£¬ËüÃÇ·Ö±ðÊÇ1.0¡¢1.1¡¢2.0ºÍ4.0£¬.NET
Framework 1.0ºÍ1.1·Ö±ð²ÉÓÃCLR 1.0ºÍ1.1£¬CLR 2.0±».NET Framework
2.0ºÍ3.x¹²Ïí£¬.NET Framework 4.xϵÄÔËÐÐʱ¾ùΪCLR 4.0¡£
FCLÊÇÒ»¸öÖ¼ÔÚΪ¿ª·¢ÈËÔ±ÌṩAPIµÄÀà¿â£¬ÓÉËüÌṩµÄAPIÓÖ¿ÉÒÔ»®·ÖΪÈçÉÏͼËùʾµÄÁ½¸ö²ã´Î¡£´¦ÓÚ×îµ×²ãµÄ²¿·Ö±»³ÆÎªBCL£¨Basic
Class Library£©£¬ËüÌṩÁËһϵÁлù´¡ÀàÐÍ£¬ËüÃÇÓÃÓÚÃèÊöһЩ»ù±¾µÄÊý¾ÝÀàÐͺÍÊý¾Ý½á¹¹£¨±ÈÈç×Ö·û´®¡¢Êý×Ö¡¢ÈÕÆÚ/ʱ¼äºÍ¼¯ºÏµÈ£©ºÍÌṩһЩ»ù´¡ÐԵIJÙ×÷£¨±ÈÈçIO¡¢Õï¶Ï¡¢·´Éä¡¢Îı¾±àÂë¡¢°²È«¿ØÖÆ¡¢¶àÏ̹߳ÜÀíµÈ£©¡£ÔÚBCLÖ®ÉϵÄÔòÊÇÃæÏò¾ßÌåÓ¦ÓÃÀàÐ͵ÄAPI£¬ÎÒÃÇ´óÌåÉÏ¿ÉÒÔ½«ËüÃÇ»®·ÖΪÈëÏÂÈýÖÖÀàÐÍ£º
ÃæÏòÓ¦Ó㨱ÈÈçASP.NET¡¢WPFºÍWindows FormsµÈ£©
ÃæÏò·þÎñ£¨±ÈÈçWCF¡¢WFºÍData ServicesµÈ£©
ÃæÏòÊý¾Ý£¨±ÈÈçADO.NET¡¢Entity FrameworkºÍLinQ to SQLµÈ£©
ÎÒÃÇÒ²¿ÉÒÔ²ÉÓÃÁíÒ»ÖÖ·½Ê½¶ÔFCL½øÐÐÖØÐ»®·Ö£º½«ÃæÏòijÖÖÓ¦ÓûòÕß·þÎñÀàÐÍ£¨±ÈÈçWindows Forms¡¢WPF¡¢ASP.NETºÍWCFµÈ£©µÄ²¿·Ö³ÉΪAppModel£¬ÄÇôÕû¸ö.NET
FrameworkÔò¾ßÓÐÁËÈçÏÂͼËùʾµÄÈý²ã½á¹¹¡£

´ó¶øÈ«µÄBCL
ÎÒÃÇÖªµÀ΢ÈíµÄ.NETÕ½ÂÔÊÇÔÚǧìûÄêÌá³öÀ´µÄ£¬Á½ÄêÖ®ºóµÚÒ»¸ö.NET Framework°æ±¾ºÍIDE£¨VS.NET
2002£©ËæÖ®ÎÊÊÀ¡£ÔÚÖ®ºóµÄ10¶àÄêÖУ¬Ò»ÏµÁа汾µÄ.NET Framework±»ÏȺóÍÆ³ö¡£Î¢ÈíĿǰ·¢²¼µÄ×îÐÂ.NET
Framework°æ±¾Îª4.7£¬ÏÂͼΪÄãչʾÁËÕû¸ö.NET Framework²»¶ÏÉý¼¶µÄÑݽø¹ý³Ì£¬ÒÔ¼°¸÷¸ö°æ±¾ÌṩµÄÖ÷ÒªÌØÐÔ¡£

ÉÏͼ¹´ÀÕ³ö.NET FrameworkÕâЩÄêµÄ·¢Õ¹Àú³ÌÖ¼ÔÚ˵Ã÷Ò»¸öÎÊÌ⣺×÷ΪÕû¸ö.NETƽ̨µÄ»ù´¡¿ò¼Ü£¬.NET
FrameworkÔÚ²»¶ÏÉý¼¶¹ý³ÌÖÐÊÇ×Ô¼º±äµÃ¸ü¼ÓÇ¿´óºÍÍ걸£¬µ«ÊÇÔÚÁíÒ»·½ÃæÒ²ÊÇ×Ô¼º±äµÃÔ½À´Ô½Ó·Öס£Ëæ×Ű汾µÄ²»¶ÏÉý¼¶£¬¹¹³É.NET
FrameworkµÄÓ¦ÓÃÄ£ÐÍ¡¢BCLºÍÔËÐÐʱ£¨CLR£©¶¼ÔÚ²»¶ÏµØÅòÕÍ£¨.NET Framework
2.0/3.xºÍ.NET Framework 4.x·Ö±ð²ÉÓÃCLR 2.0ºÍCLR 4.0£©£¬ÏÂͼºÜÖ±¹ÛµØËµÃ÷ÁËÕâ¸öÎÊÌâ¡£

ÎÒÃÇÖªµÀ³ÌÐò¼¯ÊÇ.NET×î»ù±¾µÄ²¿Êðµ¥Ôª£¬²»ÂÛ¶¨ÒåÆäÖеĶàÉÙÀàÐͱ»Ê¹Óã¬CLR×ÜÊǽ«Õû¸ö³ÌÐò¼¯¼ÓÔØµ½ÄÚ´æÖС£¶ÔÓÚÉÏÃæ½éÉܵĹ¹³É.NET
FrameworkµÄÈý¸ö²ã´ÎÀ´Ëµ£¬Ó¦ÓÃÄ£ÐÍÊÇÕë¶Ô¾ßÌåÓ¦ÓÃ/·þÎñÀàÐ͵ģ¬ÏàÓ¦µÄAPIͨ¹ý¶ÀÁ¢µÄ³ÌÐò¼¯À´³ÐÔØ£¨±ÈÈçASP.NETµÄºËÐÄ¿ò¼Ü¶¨ÒåÔÚ³ÌÐò¼¯System.Web.dllÖУ¬³ÐÔØÕû¸öWindows
Forms¿ò¼ÜµÄ³ÌÐò¼¯ÔòÊÇSystem.Windows.Forms.dll£©£¬ËùÒÔ.NET FrameworkµÄ¸÷¸öÓ¦ÓÃÄ£ÐÍÊÇÏ໥¶ÀÁ¢µÄ¡£ÔÚ¿ª·¢Ä³ÖÖÀàÐ͵ÄÓ¦ÓÃʱ£¬ÎÒÃÇÖ»ÐèÒªÒýÓÃÓ¦ÓÃÄ£ÐͶÔÓ¦µÄ³ÌÐò¼¯¾Í¿ÉÒÔÁË£¬Ò²¾ÍÊÇ˵ÎÒÃÇ¿ª·¢Ò»¸öWindows
FormsÓ¦Óã¬ÊDz»ÐèҪȥÒýÓÃSystem.Web.dll³ÌÐò¼¯µÄ¡£
µ«ÊÇBCLµÄ¾ø´ó²¿·ÖºËÐÄ´úÂë¶¼¶¨ÒåÔÚmscorlib.dllÕâ¸öºËÐijÌÐò¼¯ÖУ¬ËùÒÔBCL»ù±¾ÉÏÀ´ËµÊÇ×÷Ϊһ¸ö²»¿É·Ö¸îµÄÕûÌå´æÔÚÓÚ.NET
FrameworkÖ®ÖС£.NET FrameworkÐèÒª¶ÔÔËÐÐÔÚ±¾»ú¸÷ÖÖÀàÐ͵ÄÍйܳÌÐòÌṩ֧³Ö£¬Õë¶ÔËùÓÐÓ¦ÓÃÀàÐ͵Ļù´¡ÀàÐ;ùÐèÒª¶¨ÒåÔÚBCLÖС£ÔںܶàÇé¿öÏ£¬ÎÒÃǵÄÓ¦ÓÿÉÄܽö½öÐèҪʹÓõ½BCLÒ»¸öºÜСµÄ×Ó¼¯£¬µ«ÊÇÎÒÃDz»µÃ²»½«¶¨ÒåÕû¸ö³ÌÐò¼¯¶¼¼ÓÔØµ½ÄÚ´æÖ®ÖС£
Ò»·½ÃæBCL×ÜÊÇ×÷Ϊһ¸ö²»¿É·Ö¸îµÄÕûÌå±»¼ÓÔØ£¬ÁíÒ»·½ÃæÆä×ÔÉíµÄ³ß´çÒ²ÔÚËæ×Å.NET FrameworkµÄÉý¼¶¶ø²»¶ÏµØÅòÕÍ¡£¶ÔÓÚ¿Í»§¶ËÓ¦Ó㨱ÈÈçWindows
Forms/WPFÓ¦Óã©À´Ëµ£¬ÕâÓ¦¸Ã²»ËãÊÇÒ»¸ö´ó²»Á˵ÄÎÊÌ⣬µ«ÊǶÔÓÚÒÆ¶¯ºÍ·þÎñ¶ËÓ¦Ó㨰üÀ¨²¿ÊðÓÚÔÆ¶ËÓ¦Óã©À´Ëµ£¬ÓÉ´Ë´øÀ´µÄ¶ÔÐÔÄܺÍÍÌÍÂÁ¿µÄÏìÓ¦¾Í³ÉÁËÒ»¸ö²»µÃ²»¿¼ÂǵÄÎÊÌâ¡£
ÀíÏëµÄBCLÏû·Ñ·½Ê½ÊÇ¡°°´ÐèÏû·Ñ¡±£¬ÎÒÃÇÐèÒªÄǸö²¿·Ö¾Í¼ÓÔØÄǸö²¿·Ö¡£ÓÉÓÚ×÷Ϊ¶ÀÁ¢²¿Êðµ¥ÔªµÄ³ÌÐò¼¯×ÜÊÇ×÷Ϊһ¸öÕûÌå±»CLR¼ÓÔØµ½ÄÚ´æÖУ¬ÒªÍêȫʵÏÖÕâÖÖÀíÏëµÄBCLÏû·Ñ·½Ê½£¬Î¨Ò»µÄ°ì·¨¾ÍÊǽ«Æä»®·ÖΪÈô¸ÉСµÄµ¥Ôª£¬²¢·Ö±ð¶¨Òåµ½¶ÀÁ¢µÄ³ÌÐò¼¯ÖС£³ý´ËÖ®Í⣬°´ÕÕÄ£¿é»¯µÄÔÔò¶ÔÕû¸öBCL½øÐвð·ÖÒ²Êǰ汾Éý¼¶±äµÃ¸ü¼ÓÈÝÒ×£¬Èç¹ûÏÖÓа汾¾ßÓÐÐèÒªÐÞ¸´µÄBug£¬»òÕßÐÔÄÜÐèÒª¸Ä½ø£¬ÄÇôֻÐèÒª¸Ä¶¯²¢Éý¼¶ÏàÓ¦µÄÄ£¿é¾Í¿ÉÒÔÁË¡£ÏÂͼչʾÁ˾ßÓÐÄ£¿é»¯BCLµÄ.NET
Framework²ã¼¶½á¹¹¡£

¶à¸öÉ豸ƽ̨¶À×ÔΪÕþ
¾¹ý¶àÄêµÄ¾Óª£¬Î¢ÈíÒѾΪÎÒÃǹ¹½¨ÁËÒ»¸öÍêÕûµÄÖ§³Ö¶àÖÖÉ豸µÄ.NETÉú̬ϵͳ£¬´Ó×î³õµ¥´¿µÄ×ÀÃæÆ½Ì¨£¬Öð½¥À©Õ¹µ½Òƶ¯¡¢Æ½°åºÍǶÈëʽµÈƽ̨¡£É豸ÔËÐл·¾³µÄ²îÒìÐÔµ¼ÖÂÁËÕë¶ÔËüÃǵÄÓ¦Óò»Äܹ¹½¨ÔÚÒ»¸öͳһµÄ.NET
Frameworkƽ̨ÉÏ£¬ËùÒÔ΢Èí²ÉÓöÀÁ¢µÄ.NET Frameworkƽ̨À´¶ÔËüÃÇÌṩÕë¶ÔÐÔµÄÖ§³Ö¡£¾ÍĿǰÀ´Ëµ£¬³ýÁËÖ§³ÖWindows
×ÀÃæºÍ·þÎñÆ÷É豸µÄ¡°ÍêÕû°æ .NET Framework¡±Ö®Í⣬΢Èí»¹ÏȺóÍÆ³öÁËһϵÁС°Ñ¹Ëõ°æ.NET
Framework¡±£¬ÕâÆäÖоͰüÀ¨Windows Phone¡¢Windows Store¡¢SilverlightºÍ.NET
Micro FrameworkµÈ£¬ËüÃÇ·Ö±ð¶ÔÒÆ¶¯¡¢Æ½°åºÍǶÈëʽÉ豸Ìṩ֧³Ö¡£
ÕâЩ.NET Framework²¢²»Êǽö½öÔÚAppModel²ã´ÎÌṩÕë¶ÔÏàÓ¦É豸ƽ̨µÄ¿ª·¢¿ò¼Ü£¬ËüÃÇÌṩµÄBCLºÍRuntimeÒ²ÊDz»Í¬¡£»»¾ä»°Ëµ£¬ÕâЩ.NET
Frameworkƽ̨ÊÇÍêÈ«¶ÀÁ¢µÄ£¬²»Í¬.NET Frameworkƽ̨֮¼äµÄ¶ÀÁ¢ÐÔºÜÖ±¹ÛµØÌåÏÖÔÚÏÂͼ֮ÖС£Ä¿±êƽ̨µÄ¶ÀÁ¢ÐÔµ¼ÖÂÎÒÃǺÜÄѱàдÄܹ»ÔÚ¸÷¸öƽ̨¸´ÓõĴúÂ룬¹ØÓÚÕâÒ»µãÎÒÃÇ»áÔÚÏÂÃæÒ»½Ú¡°¸´ÓÃÖ®ÉË¡±ÖÐ×öÖØµãÌÖÂÛ¡£

¶þ¡¢·ÇWindowsϵÄ.NET
¾¡¹Ü΢Èí×ÔÉí¶àÄêÒÔÀ´»ù±¾É϶¼Ö»ÔÚWindowsƽ̨ϵÄһĶÈý·ÖµØÉϽøÐиûÔÅ£¬µ«ÊÇ.NET Ôòͨ¹ýMonoºÍXamarin½«´¥½ÇÑÓÉìµ½ÆäËûƽ̨£¨Mac
OS X¡¢Linux¡¢iOSºÍAndroidµÈ£©¡£ËäȻĿǰ×öµÃ²¢²»ËãÍêÃÀ£¬µ«ÊÇÎÒÃÇ¿ÉÒÔ˵.NET¾ß±¸¿çƽ̨µÄÄÜÁ¦¡£
´ÓCLI̸Æð
.NET¿çƽ̨µÄÄÜÁ¦½¨Á¢ÔÚÒ»ÖÖ¿ª·ÅµÄ±ê×¼»òÕ߹淶֮ÉÏ£¬Õâ¸öËùνµÄ±ê×¼/¹æ·¶¾ÍÊÇCLI¡£CLIµÄÖÆ¶¨Ö¼ÔÚ½â¾öÕâÑùÒ»¸öÎÊÌ⣺Óɲ»Í¬£¨¸ß¼¶£©±à³ÌÓïÑÔ¿ª·¢µÄ.NETÓ¦ÓÃÄܹ»ÔÚÎÞÐèÈκθü¸ÄµÄÇé¿öÏÂÔËÐÐÓÚ²»Í¬µÄϵͳ»·¾³Ï¡£ÒªÊµÏÖÕâ¸öÄ¿±ê£¬±ØÐèÓÐЧµØ½â¾öÕâÀïÉæ¼°µ½Á½ÖÖÀàÐ͵IJîÒ죬¼´±à³ÌÓïÑԵIJîÒìºÍÔËÐÐʱ»·¾³µÄ²îÒì¡£±à³ÌÓïÑÔÖ®¼äÄܹ»ÊµÏÖÏ໥¼æÈÝ¡¢ÔËÐÐʱ»·¾³Äܹ»µÃµ½Í³Ò»£¬¿çƽ̨µÄΰҵ·½ÄÜʵÏÖ¡£
CLIÈ«³ÆÎªCommon Language Infrastructure£¬ÆäÖÐCommon Language˵µÄÊÇÓïÑÔ£¬¾ßÌåÀ´ËµÊÇÒ»ÖÖͨÓÃÓïÑÔ£¬ËüÖ¼ÔÚ½â¾ö¸÷Öָ߼¶¿ª·¢ÓïÑԵļæÈÝÐÔÎÊÌâ¡£InfrastructureÖ¸µÄÔòÊÇÔËÐÐʱ»·¾³£¬Ö¼ÔÚÃֺϲ»Í¬Æ½Ì¨Ö®¼äÖ´Ðз½Ê½µÄ²îÒì¡£Common
LanguageÊǶԳÐÔØÓ¦ÓõĶþ½øÖÆÄÚÈݵľ²Ì¬ÃèÊö£¬InfrastructureÔò±íʾ¶¯Ì¬Ö´ÐÐÓ¦ÓõÄÒýÇæ£¬ËùÒÔCLIΪ¿ÉÖ´ÐдúÂëºÍÖ´ÐÐÒýÇæÈ·Á¢Ò»¸öͳһµÄ±ê×¼¡£
±à³ÌÓïÑÔÓбàÒëÐͺͽâÊÍÐÍÖ®±ð£¬Ç°ÕßÐèҪͨ¹ý±àÒëÆ÷½øÐбàÒëÒÔÉú³É¿ÉÖ´ÐдúÂ룬CLIÉæ¼°µÄCommon
LanguageÖ¸µÄÊDZàÒëÐÍÓïÑÔ¡£ÒªÊµÏÖÕæÕýµÄ¿çƽ̨£¬×îÖÕÐèÒª½â¾öµÄÊÇ¿ÉÖ´ÐдúÂëÔÚ²»Í¬Æ½Ì¨Ö®¼äµÄ¼æÈݺͿÉÒÆÖ²µÄÎÊÌ⣬¶ø±à³ÌÓïÑÔµÄÑ¡Ôñ½ö½ö¾ö¶¨ÁËÓ¦ÓÃÔ´ÎļþµÄÔʼ״̬£¬Ó¦ÓõļæÈÝÐԺͿÉÒÆÖ²ÐÔÓɱàÒëºóµÄ½á¹ûÀ´¾ö¶¨¡£Èç¹ûͨ¹ý²»Í¬±à³ÌÓïÑÔ¿ª·¢µÄÓ¦ÓÃͨ¹ýÏàÓ¦µÄ±àÒëÆ÷±àÒëºóÄܹ»Éú³É±ê×¼µÄÄ¿±ê´úÂ룬ÄÇô±à³ÌÓïÑÔÖ®¼äµÄ²îÒì¾Í²»ÔÙÊÇÒ»¸öÎÊÌâÁË¡£
°´ÕÕCLIµÄ¹æ¶¨£¬ÓÃÀ´ÃèÊö¿ÉÖ´ÐдúÂëµÄÊÇÒ»ÖÖ½Ð×öCIL£¨Common Intermediate Language£©µÄÓïÑÔ£¬ÕâÊÇÒ»ÖÖ½éÓڸ߼¶ÓïÑԺͻúÆ÷ÓïÑÔÖ®¼äµÄÖмäÓïÑÔ¡£ÈçÏÂͼËùʾ£¬ËäÈ»³ÌÐòÔ´ÎļþÓɲ»Í¬µÄ±à³ÌÓïÑÔ±àд£¬µ«ÊÇÎÒÃÇ¿ÉÒÔ½èÖúÏàÓ¦µÄ±àÒëÆ÷½«Æä±àÒë³ÉCIL´úÂë¡£ÔÔòÉϽ²£¬ÎÒÃÇ¿ÉÒÔÉè¼Æ³öеıà³ÌÓïÑÔ²¢½«Æä¼ÓÈëµ½.NET´ó¼ÒÍ¥ÖУ¬Ö»ÐèÅäÒÔÏàÓ¦µÄ±àÒëÆ÷Éú³ÉͳһµÄCIL´úÂë¼´¿É¡£ÎÒÃÇÒ²¿ÉÒÔΪÏÖÓеÄij¸ö±à³ÌÓïÑÔÉè¼ÆÒ»ÖÖÒÔCILΪĿ±êÓïÑԵıàÒëÆ÷ʹ֮³ÉΪ.NETÓïÑÔ¡£CILÊÇÒ»ÃÅÖмäÓïÑÔ£¬Í¬Ê±Ò²ÊÇÒ»ÃÅÃæÏò¶ÔÏóµÄÓïÑÔ£¬ËùÒÔ¶ÔÓÚÒ»¸öCIL³ÌÐòÀ´Ëµ£¬ÀàÐÍÊÇ»ù±¾µÄ×é³Éµ¥ÔªºÍºËÐÄÒªËØ¡£Î¢ÈíÖÆ¶¨ÁËÒ»¸öÃûΪCTS£¨Common
Type System£©µÄ¹æ·¶ÎªCLIÈ·Á¢ÁËÒ»¸öͳһµÄÀàÐÍϵͳ¡£

±à³ÌÓïÑԵIJîÒìͨ¹ý±àÒëÆ÷Õâ¸öÊÊÅäÆ÷µÃÒÔ¡°Í¬Ò»»¯¡±£¬ÔËÐл·¾³µÄ²îÒìÔò¿ÉÒÔͨ¹ýÐéÄâ»ú£¨VM£ºVirtual
Machine£©¼¼ÊõÀ´½â¾ö¡£ÐéÄâ»úÊÇCILµÄÖ´ÐÐÈÝÆ÷£¬ËüÄܹ»ÔÚÖ´ÐÐCIL´úÂëµÄ¹ý³ÌÖвÉÓü°Ê±±àÒëµÄ·½Ê½½«Ëü¶¯Ì¬µØ·Òë³ÉÓ뵱ǰִÐл·¾³ÍêȫƥÅäµÄ»úÆ÷Ö¸Áî¡£ÐéÄâ»úÆÁ±ÎÁ˲»Í¬²Ù×÷ϵͳ֮¼äµÄ²îÒ죬ÈÃÄ¿±ê³ÌÐò¿ÉÒÔ²»×öÈκÎÐ޸ĵÄÇé¿öϾÍÄÜÔËÐÐÓÚ²»Í¬µÄµ×²ãÖ´Ðл·¾³ÖУ¬¶øCILʵ¼ÊÉÏÊÇÒ»ÖÖÐéÄâ»úÓïÑÔ¡£

´ÓʵÏÖÔÀíÀ´¿´£¬ÈÃ.NETÄܹ»¿çƽ̨Æäʵ²»ÄÑ£¬µ«ÊÇÈø÷ÖÖÏà¹ØµÄÈËÔ±²ÎÓë½øÐÐÒÔ¹¹½¨Ò»¸ö½¡¿µ¶øÍêÉÆµÄ¿çƽ̨.NETÉú̬ȦÔò×¢¶¨²»ÊÇÒ»¼þÒ»õí¶ø¾ÍµÄÊÂÇ飬ÕâÀïÉæ¼°µÄÀûÒæÏà¹Ø·½°üÀ¨±à³ÌÓïÑÔµÄÉè¼ÆÕߣ¬ÒÔ¼°Éè¼ÆºÍ¿ª·¢±àÒëÆ÷¡¢ÐéÄâ»ú¡¢IDEÒÔ¼°ÆäËûÏà¹Ø¹¤¾ßµÄÈË£¬µ±È»»¹°üÀ¨¹ã´óµÄÓ¦Óÿª·¢Õß¡£¿çƽ̨.NETÉú̬»·¾³±ØÐ뽨Á¢ÔÚÒ»¸ö±ê×¼µÄ¹æ·¶Ö®ÉÏ£¬ËùÒÔ΢ÈíΪ´ËÖÆ¶¨ÁËCLI£¬È»ºóÌá½»¸øÅ·ÖÞ¼ÆËã»úÖÆÔìÉÌлᣨECMA£ºEuropean
Computer Manufacturers Association£©²¢±»ºóÕß½ÓÊÜ£¬³ÉΪÁËÒ»¸ö±àºÅΪ335µÄ¹æ·¶£¬ËùÒÔCLIÓÖ±»³ÆÎªECMA-335£¨Ë³±ã˵һÏ£¬ECMA»¹½ÓÊÜÁË΢ÈíΪC#ÕâÃDZà³ÌÓïÑÔÖÆ¶¨µÄ¹æ·¶£¬¼´ECMA-334£©¡£
MonoÓëXamarin
CLI£¨ECMA-335£©ÕâÒ»¿ª·ÅµÄ¹æ·¶ÔÚ.NETµ®ÉúµÄÄÇÒ»¿ÌÆð¾Í¸³ÓèÁËËü¿çƽ̨µÄ»ùÒò£¬µ«ÊDZ»ÀÓÉÏWindowsÕâÒ»Ó¡¼ÇµÄ΢ÈíËÆºõ¸ù±¾¾Í²»ÔøÏë¹ý½«.NETÍÆ¹ãµ½ÆäËûµÄƽ̨£¬ÕæÕýÍê³ÉÕâһʹÃüÁËÊÇÒ»¸ö½Ð×öMonoµÄÏîÄ¿¡£ËäÈ»MonoÒѾÊÇÒ»¸ö²»ËãÄêÇáµÄÏîÄ¿ÁË£¬µ«ÊÇÒÀÈ»ÓкܶàÈ˶ÔËü²»ÊǺÜÁ˽⣬ËùÒÔÎÒÃDz»·ÁÀ´¼òµ¥½éÉÜÒ»ÏÂËüµÄÀúÊ·¡£
1999Ä꣬Miguel de Icaza´´½¨ÁËÒ»¼Ò½Ð×öXimianµÄ¹«Ë¾£¬ÕâÊÇÒ»¼ÒÖ¼ÔÚΪGNOMEÏîÄ¿£¨ÕâÊÇÒ»¸öΪÀàUnixϵͳÌṩ×ÀÃæ»·¾³µÄGNUÏîÄ¿£¬GNOMEÊÇĿǰLinux×î³£ÓõÄ×ÀÃæ»·¾³Ö®Ò»£©¿ª·¢Èí¼þºÍÌṩ֧³ÖµÄ¹«Ë¾¡£2000Äê6Ô£¬Î¢ÈíÕýʽ·¢²¼.NET
Framework£¬Miguel de Icaza±»¸ö¡°»ùÓÚ»¥ÁªÍøµÄȫпª·¢Æ½Ì¨¡±£¨.NETÔÚ·¢²¼µÄʱºò±»±ê°ñΪ¡°a
new platform based on Internet standards¡±£©ÉîÉîÎüÒý¡£Í¬Äê11Ô£¬Î¢Èí·¢²¼ÁËCLI¹æ·¶£¨ECMA-335£©²¢Îª¹«ÖÚ¿ª·ÅÁ˶ÀÁ¢ÊµÏÖµÄÐí¿É£¬Miguel
de Icaza´ÓÖп´µ½ÁËÉÌ»ú£¬ÒòΪÕâʵ¼ÊÉÏΪ.NET×ßÏò·ÇWindowsƽ̨ÌṩÁË¿ÉÄÜ¡£Miguel
de IcazaÔÚ2001Äê7Ô¿ªÆôÁËMonoÕâ¸öÏîÄ¿£¬²¢²ÉÓÃC#×÷ΪÖ÷ÒªµÄ¿ª·¢ÓïÑÔ£¨Ä¿Ç°Ö§³ÖVB
.NET£©£¬ËùÒÔÕë¶ÔCLIºÍC#µÄÁ½¸öECMA¹æ·¶Êǹ¹½¨MonoÏîÄ¿µÄÀíÂÛ»ù´¡£¬Èç¹û·ÃÎÊMonoµÄ¹Ù·½ÍøÕ¾£¬ÎÒÃǻᷢÏÖËüÊÇÕâÑù¶¨ÒåMonoµÄ£º¡°Mono
is an open source implementation of Microsoft's .NET
Framework based on the ECMA standards for C# and the
Common Language Runtime.¡±
MonoµÄʹÃü²»½ö½ö¾ÖÏÞÓÚÄܹ»½«.NETÓ¦ÓÃÕý³£ÔËÐÐÔÚÆäËû·ÇWindowsƽ̨£¬Ëü»¹Ï£Íû°ïÖú¿ª·¢ÈËÔ±Äܹ»Ö±½ÓÔÚÆäËûƽ̨½øÐÐ.
NETÓ¦ÓõĿª·¢£¬ËùÒÔMono²»½ö½ö¸ù¾ÝCLIΪÏàÓ¦µÄƽ̨¿ª·¢ÁË×÷ΪÐéÄâ»úµÄCLRºÍ±àÒëÆ÷£¬»¹Ìṩ¸øÁËIDEºÍÏàÓ¦µÄ¿ª·¢¹¤¾ß£¨±»³ÆÎªMonoDevelop£©¡£MonoµÄµÚÒ»¸öÕýʽ°æ±¾£¨Mono
1.0£©ÔÚÏîÄ¿¿ªÆô²î²»¶àÈýÄêÖ®ºó£¨2004Äê6Ô£©·¢²¼¡£
2003Äê8Ô£¬Ximian±»ÁíÒ»¼Ò½Ð×öNovellµÄ¹«Ë¾ÊÕ¹º£¬ºóÕß¼ÌÐøÖ§³ÖMiguel de Icaza¿ª·¢MonoÏîÄ¿£¬ÔÚÕâÆÚ¼äMonoÂ½ÐøÍÆ³öÁËÈô¸ÉMono
2.x°æ±¾¡£2011Äê4Ô£¬NovellÓÖ±»ÁíÒ»¼þ½Ð×öAttachmateµÄ¹«Ë¾ÊÕ¹º£¬ºóÕß¾ö¶¨·ÅÆúMono£¬ÓÚÊÇMiguel
de Icaza´ø×ÅÕû¸öMonoÍŶӳÉÁ¢ÁËÒ»¸ö¼ÒÐµĹ«Ë¾£¬ÆðÃûΪXamarin¡£Í¬Äê7Ô£¬XamarinÏòÔÀ´µÄĸ¹«Ë¾NovellÄõ½ÁËMonoµÄ¿ª·¢Ðí¿É¡£ÔÚ´ËÖ®ºóµÄ¼¸ÄêÄÚ£¬XamarinÏȺ󷢲¼ÁËMono
3.x¡¢Mono 4.0ºÍMono 5.x£¬Ä¿Ç°µÄ×îа汾Ϊ5.4¡£MonoÏÖ½ñµÄÄ¿±êÊÇʵÏÖ.NET
4.5³ýWPF¡¢WFºÍ²¿·ÖWCFÍâµÄËùÓÐÌØÐÔ£¬Ä¿Ç°È±Ê§µÄ²¿·ÖµÄ¿ª·¢ÕýÔÚͨ¹ýÒ»¸ö½Ð×öOlive£¨MonoµÄÒ»¸ö×ÓÏîÄ¿£©µÄÏîÄ¿½øÐÐ×Å¡£
ÔÚMonoÏîÄ¿µÄ»ù´¡Ö®ÉÏ£¬Xamarin¿ªÊ¼¿ª·¢ÒÔй«Ë¾ÃüÃûµÄ²úÆ·£¬ÆäÖÐ×îÖØÒª°æ±¾µ±Êô2013Äê2Ô·¢²¼µÄXamarin
2.0¡£Xamarin 2.0ÓÉXamarin.Android¡¢Xamarin.iOSºÍXamarin.Windows×é³É£¬ËüÃÇʹÎÒÃÇ¿ÉÒÔ²ÉÓÃC#¿ª·¢Õë¶ÔAndroid¡¢iOSºÍWindowsµÄNativeÓ¦Óᣳý´ËÖ®Í⣬Xamarin
2.0»¹Ð¯´ø×ÅÒ»¸ö½Ð×öXamarin Studio£¨MonoDevelopµÄÉý¼¶°æ£©µÄIDEÒÔ¼°ÓëһЩÓëVisual
Studio¼¯³ÉµÄ¹¤¾ß¡£2014Äê5ÔÂXamarin 3.0·¢²¼£¬×÷ΪÆäºËÐĵÄXamarin.FormsΪ²»Í¬Æ½Ì¨µÄNativeÓ¦ÓÃÌṩͳһµÄ¿Ø¼þ£¬Ò²¾ÍÊÇ˵ÎÒÃÇÀûÓÃXamarin.Forms
API¿ª·¢NativeÓ¦ÓÿÉÒÔÔÚÎÞÐè×öÈκθıäµÄÇé¿öÏÂÔËÐÐÔÚAndroid¡¢iOSºÍWindowsÉÏ¡£
2016Äê2Ô£¬Î¢ÈíºÍXamarinÐû²¼Ë«·½Ç©ÊðÐÒé´ï³ÉÁËǰÕßÕë¶ÔºóÕßµÄÊÕ¹º¡£ÔÚ2016ÄêBuild´ó»áÉÏ£¬Î¢ÈíÐû²¼½«Õû¸öXamarin
SDK¿ªÔ´£¬²¢½«Ëü×÷Ϊһ¸öÃâ·ÑµÄ¹¤¾ß¼¯³Éµ½Visual StudioÖУ¬Visual StudioÆóÒµ°æµÄÓû§»¹¿ÉÒÔÃâ·ÑʹÓÃXamarinÆóÒµ°æµÄËùÓÐÌØÐÔ¡£
×ÛÉÏËùÊö£¬ÓÉÓÚ.NETÊǽ¨Á¢ÔÚCLIÕâÒ»±ê×¼µÄ¹æ·¶Ö®ÉÏ£¬ËùÒÔËüÌìÉú¾Í¾ßÓÐÁË¡°¿çƽ̨¡±µÄ»ùÒò¡£ÔÚ΢Èí·¢²¼Á˵ÚÒ»¸öÕë¶Ô×ÀÃæºÍ·þÎñÆ÷ƽ̨µÄ.NET
FrameworkÖ®ºó£¬Ëü¿ªÊ¼ ¡°Àִ˲»Æ£¡± µØ¶ÔÕâ¸öÍêÕû°æµÄ.NET Framework½øÐв»Í¬·¶Î§ºÍ²ã´ÎµÄ
¡°Ñ˸ £¬½ø¶øÔì¾ÍÁËÏñWindows Phone¡¢Windows Store¡¢SilverlightºÍ.NET
Micro FrameworkµÄѹËõ°æµÄ.NET Framework¡£´ÓÕâ¸öÒâÒåÉϽ²£¬MonoºÍËüÃDz¢Ã»Óб¾ÖʵÄÇø±ð£¬Î¨Ò»²»Í¬µÄÊÇMonoÕæÕýÍ»ÆÆÁËWindowsƽ̨µÄ·ªÀé¡£°üÀ¨MonoÔÚÄÚµÄÕâЩ·ÖÖ§´Ù³ÉÁË.NETµÄ·±ÈÙ£¬µ«ÎÒÃǶ¼ÖªµÀÕâ½ö½öÊÇÒ»ÖÖÐé¼ÙµÄ·±ÈÙ¶øÒÑ¡£ËäÈ»¶¼ÊÇ.NET
FrameworkµÄ×Ó¼¯£¬µ«ÊÇÓÉÓÚËüÃDzÉÓÃÍêÈ«¶ÀÁ¢µÄÔËÐÐʱºÍ»ù´¡Àà¿â£¬ÕâʹÎÒÃǺÜÄÑ¿ª·¢Ò»¸öÖ§³Ö¶àÖÖÉ豸µÄ¡°¿ÉÒÆÖ²£¨Portable£©¡±Ó¦Óã¬ÕâЩ·ÖÖ§·´¶ø³ÉÎªÖÆÔ¼.NET·¢Õ¹µÄÒ»µÀµÀ¼ÏËø¡£ÖÁÓÚΪʲô¡°¿ÉÒÆÖ²£¨Portable£©¡±.NETÓ¦ÓõĿª·¢Èç´Ë·±Ëö£¬¾´Çë¹Ø×¢ÖÐÆª¡¶.NET
Core¿çƽ̨µÄ°ÂÃØ[ÖÐÆª]£º¸´ÓÃÖ®éä¡·¡£ |