connectïŒïŒã«ã³ãã¡ã¬ã³ã¹ã§ã .NET CoreããªãŒãã³ãœãŒã¹ãœãããŠã§ã¢ãšããŠå®å šã«ãªãªãŒã¹ãããããšãçºè¡šããŸãã ã ãã®èšäºã§ã¯ã.NET Coreãã¬ãã¥ãŒããããããªãªãŒã¹ããæ¹æ³ã.NET Frameworkãšæ¯èŒããæ¹æ³ãããã³ã¯ãã¹ãã©ãããã©ãŒã éçºãšãªãŒãã³ãœãŒã¹éçºã«ãšã£ãŠãããäœãæå³ãããã説æããŸãã
æ¯ãè¿ã£ãŠ-.NET Coreã®åæ©
ãŸããæ¯ãè¿ã£ãŠã.NETãã©ãããã©ãŒã ã以åã«ã©ã®ããã«é 眮ãããããç解ããŸãããã ããã¯ã.NET Coreã®åºçŸã«ã€ãªãã£ãåã ã®æ±ºå®ããã³ã¢ã€ãã¢ã®åæ©ãç解ããã®ã«åœ¹ç«ã¡ãŸãã
.NET-åçŽã»ãã
2002幎ã«.NET Frameworkãæåã«ãªãªãŒã¹ãããšããããã¯å¯äžã®ãã¬ãŒã ã¯ãŒã¯ã§ããã ãã®åŸããã«ãWindows Mobileãªã©ã®å°åããã€ã¹ã«é©åãã.NET Frameworkã®ãµãã»ããã§ãã.NET Compact FrameworkããªãªãŒã¹ããŸããã ã³ã³ãã¯ããªãã¬ãŒã ã¯ãŒã¯ã«ã¯åå¥ã®ã³ãŒãããŒã¹ãå¿ èŠã§ããããã®äžã«ã©ã³ã¿ã€ã ããã¬ãŒã ã¯ãŒã¯ãããã³ã¢ããªã±ãŒã·ã§ã³ã¢ãã«å šäœãå«ãŸããŠããŸããã
ãã以æ¥ãSilverlightãWindows PhoneããããŠæè¿ã§ã¯Windows Storeãšãããµãã»ãããæ°åéžæããç·Žç¿ãç¹°ãè¿ããŠããŸããã ããã¯ãå®éã«ã¯.NETãã©ãããã©ãŒã ã¯åäžã®ãã®ã§ã¯ãªããç°ãªãããŒã ã«ãã£ãŠç¬ç«ããŠç®¡çããã³ãµããŒããããäžé£ã®ãã©ãããã©ãŒã ã§ãããããæçåã«ã€ãªãããŸãã
ãã¡ãããç¹å®ã®ããŒãºãæºããç¹æ®ãªæ©èœã»ãããæäŸãããšããèãã«ã¯äœã®åé¡ããããŸããã ããã¯ãäœç³»çãªã¢ãããŒãããªããä»ã®ããŒãã£ã«ã«ã®å¯Ÿå¿ããã¬ã€ã€ãŒã§çºçããããšãèæ ®ããã«åã¬ã€ã€ãŒã§ç¹æ®åãçºçããå Žåã«åé¡ã«ãªããŸãã ãã®ãããªæ±ºå®ã®çµæã¯ããã€ãŠã¯åäžã®ã³ãŒãããŒã¹ããéå§ãããããã«ãå€ãã®å ±éAPIãåããäžé£ã®ãã©ãããã©ãŒã ã«ãªããŸãã äžå®ã®APIãå®çŸããããã«æ瀺çãªïŒãããŠé«äŸ¡ãªïŒæŒç¿ãè¡ããªãéããæéãçµã€ã«ã€ããŠãããã¯å·®ç°ã®å¢å ã«ã€ãªãããŸãã
æçåã®åé¡ã¯ã©ã®æç¹ã§çºçããŸããïŒ 1ã€ã®æ¥çš®ã®ã¿ã察象ã«ããŠããå Žåãå®éã«ã¯åé¡ã¯ãããŸããã ç¹å®ã®æ¥çš®åãã«æé©åãããäžé£ã®APIãæäŸãããŸãã ãã®åé¡ã¯ãå€ãã®åçŽæ¹åã«åããŠãæ°Žå¹³æ¹åã®äœããå®è¡ãããšããã«çŸããŸãã ä»ãããªãã¯ããŸããŸãªAPIã®å¯çšæ§ã«ã€ããŠçåã«æã£ãŠãããããŸããŸãªã¿ãŒã²ããåéã§æ©èœããã³ãŒãã®ãããã¯ãäœæããæ¹æ³ãèããŠããŸãã
ä»æ¥ãããŸããŸãªããã€ã¹ãã«ããŒããã¢ããªã±ãŒã·ã§ã³ãéçºããã¿ã¹ã¯ã¯éåžžã«äžè¬çã§ããã»ãšãã©ã®å ŽåãWebãµãŒããŒäžã§äœããã®ããã¯ãšã³ããå®è¡ãããå€ãã®å Žåããã¹ã¯ãããWindowsã䜿çšãã管çããã³ããšã³ãããããã»ãšãã©ã®äººãå©çšã§ããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®ã»ããããããŸãããŸããŸãªããã€ã¹ã ãããã£ãŠããã¹ãŠã®.NETã«ããŽãªãã«ããŒããã³ã³ããŒãã³ããäœæããéçºè ããµããŒãããããšãéèŠã§ãã
ããŒã¿ãã«ã¯ã©ã¹ã©ã€ãã©ãªïŒPCLïŒã®èªç
åœåãç°ãªãæ¥çš®éã§ã³ãŒããåå²ããããã®ç¹å¥ãªæŠå¿µã¯ãããŸããã§ããã 移æ€å¯èœãªã¯ã©ã¹ã©ã€ãã©ãªãå ±æãããžã§ã¯ãã¯ãããŸããã§ããã æåéããå€ãã®ãããžã§ã¯ããäœæãããã¡ã€ã«ãªã³ã¯ãšå€ãã®#ifã䜿çšããå¿ èŠããããŸããã ããã«ãããè€æ°ã®ããŒãã£ã«ã«ã察象ãšããã¿ã¹ã¯ãéåžžã«å°é£ã«ãªããŸããã
Windows 8ãç»å Žããé ã«ã¯ããã®åé¡ã«å¯ŸåŠããèšç»ããããŸããã Windowsã¹ãã¢ãããã¡ã€ã«ãèšèšãããšãã«ããµãã»ããã®ããè¯ãã¢ããªã³ã°ã®ããã®æ°ããæŠå¿µãå¥çŽãå°å ¥ããŸããã
.NET Frameworkãèšèšããããšããããã¯åžžã«åäžã®ãŠããããšããŠé åžããããšããåæããã£ããããå解ã®åé¡ã¯é倧ãšã¯èŠãªãããŸããã§ããã ãã¹ãŠãäŸåããã¢ã»ã³ããªã®äžå¿ã¯mscorlibã§ãã .NET Frameworkã«å梱ãããŠããmscorlibã©ã€ãã©ãªã«ã¯ãæ®éçã«ãµããŒãã§ããªãå€ãã®æ©èœãå«ãŸããŠããŸãïŒããšãã°ããªã¢ãŒãå®è¡ãAppDomainïŒã ããã¯ãåæ¥çš®ããã©ãããã©ãŒã ã®ã³ã¢ã®ç¬èªã®ãµãã»ãããäœæãããšããäºå®ã«ã€ãªãããŸãã ãããã£ãŠãå€ãã®æ¥çš®åãã«èšèšãããã¯ã©ã¹ã©ã€ãã©ãªãäœæããã®ã¯å°é£ã§ãã
ã³ã³ãã©ã¯ãã®èåŸã«ããèãæ¹ã¯ãã³ãŒãå解ã¿ã¹ã¯ã«é©ããããèããããAPIã»ãããæäŸããããšã§ãã ã³ã³ãã©ã¯ãã¯ãã³ãŒããã³ã³ãã€ã«ã§ããåãªãã¢ã»ã³ããªã§ãã åŸæ¥ã®ã¢ã»ã³ããªãšã¯ç°ãªããã³ã³ãã©ã¯ãã¢ã»ã³ããªã¯å解ã¿ã¹ã¯å°çšã«èšèšãããŠããŸãã ã³ã³ãã©ã¯ãéã®äŸåé¢ä¿ãæ確ã«ãã¬ãŒã¹ããAPIã®ãã³ãã§ã¯ãªãã1ã€ã®ããšã«è²¬ä»»ãæã€ããã«èšè¿°ããŸãã å¥çŽã«ã¯ç¬ç«ããããŒãžã§ã³ç®¡çãããã察å¿ããã«ãŒã«ã«åŸããŸããããšãã°ãæ°ããAPIãè¿œå ãããå Žåãæ°ããããŒãžã§ã³ã®ã¢ã»ã³ããªã§å©çšå¯èœã«ãªããŸãã
ä»æ¥ãç§ãã¡ã¯ã³ã³ãã©ã¯ãã䜿çšããŠãã¹ãŠã®æ¥çš®ã§APIãã¢ãã«åããŸãã ããŒãã£ã«ã«ã¯ããµããŒãããå¥çŽãç°¡åã«éžæã§ããŸãã éèŠãªç¹ã¯ãããŒãã£ã«ã«ã¯å¥çŽå šäœããµããŒããã矩åããããããŸã£ãããµããŒãããªã矩åããããšããããšã§ãã ã€ãŸããå¥çŽã®ãµãã»ãããå«ããããšã¯ã§ããŸããã
ããã«ããã以åã®ããã«APIã®åã ã®éããšã¯å¯Ÿç §çã«ãæ¢ã«ã¢ã»ã³ããªã¬ãã«ã§ã®æ¥çš®éã®APIã®éãã«ã€ããŠè©±ãããšãã§ããŸãã ããã«ãããå€ãã®æ¥çš®ã察象ãšããã³ãŒãã©ã€ãã©ãªã®ã¡ã«ããºã ãå®è£ ã§ããŸãã ãã®ãããªã©ã€ãã©ãªã¯çŸåšãããŒã¿ãã«ã¯ã©ã¹ã©ã€ãã©ãªãšããŠç¥ãããŠããŸãã
APIãã©ãŒã ãŠããªã³ãšå®è£ ãŠããªã³
ããŒã¿ãã«ã³ãŒãã©ã€ãã©ãªã¯ãAPIãã©ãŒã ã«åºã¥ããŠããŸããŸãª.NETã«ããŽãªãçµã¿åãããã¢ãã«ãšèããããšãã§ããŸãã ããã«ãããæãéèŠãªããŒãº-ããŸããŸãª.NETåéã§æ©èœããã©ã€ãã©ãªãäœæããæ©èœã«å¯Ÿå¿ã§ããŸãã ãã®ã¢ãããŒãã¯ãããŸããŸãªæ¥çš®ãç¹ã«Windows 8.1ãšWindows Phone 8.1ããŸãšããããšãã§ããã¢ãŒããã¯ãã£èšç»ããŒã«ãšããŠãæ©èœããŸãã
ãã ãã.NETãã©ãããã©ãŒã ã®ããŸããŸãªå®è£ ããã©ãŒã¯ïŒã³ãŒããã©ã³ãïŒããŸã ãããŸãã ãããã®å®è£ ã¯ãããŸããŸãªããŒã ã«ãã£ãŠç®¡çãããç¬ç«ããããŒãžã§ã³ç®¡çãšç°ãªãé ä¿¡ã¡ã«ããºã ãåããŠããŸãã ããã¯ãAPIã®åœ¢åŒãçµ±äžããã¿ã¹ã¯ã移åã¿ãŒã²ããã«ãªããšããäºå®ã«ã€ãªãããŸãïŒAPIã¯ãå®è£ ããã¹ãŠã®åéã«æ²¿ã£ãŠåé²ããå Žåã«ã®ã¿ç§»æ€å¯èœã§ãããã³ãŒãããŒã¹ãç°ãªããããéåžžã«é«äŸ¡ãªåã³ã«ãªãããããã£ãŠïŒåïŒåªå é äœä»ãã®å¯Ÿè±¡ãšãªããŸãã APIã®åäžæ§ãå®å šã«å®è£ ã§ãããšããŠãããã¹ãŠã®æ¥çš®ãç°ãªãé ä¿¡ã¡ã«ããºã ãåããŠãããšããäºå®ã¯ããšã³ã·ã¹ãã ã®äžéšãåžžã«é ããããšãæå³ããŸãã
å®è£ ãçµ±åããæ¹ãã¯ããã«åªããŠããŸããé©åã«å解ããã説æãæäŸããã ãã§ãªããå解ãããå®è£ ãæºåããå¿ èŠããããŸãã ããã«ãããããŒãã£ã«ã«ã¯åãå®è£ ãç°¡åã«äœ¿çšã§ããŸãã åçŽã®æŠç®ã§ã¯ãè¿œå ã®ã¢ã¯ã·ã§ã³ã¯äžèŠã«ãªããŸãã ãœãªã¥ãŒã·ã§ã³ãé©åã«èšèšããã ãã§å®çŸã§ããŸãã ãã¡ãããããŸããŸãªå®è£ ãå¿ èŠãªå ŽåããããŸãã ãã®è¯ãäŸã¯ããã¡ã€ã«æäœã§ããããã«ã¯ãç°å¢ã«å¿ããŠç°ãªããã¯ãããžãŒã䜿çšããå¿ èŠããããŸãã ãã ãããã®å Žåã§ããç¹å®ã®ã³ã³ããŒãã³ããæ åœããåããŒã ã«ãããŸããŸãªåéã§APIãã©ã®ããã«æ©èœãããã«ã€ããŠèããããšã¯ãäºå®äžãåäžã®APIã»ãããæäŸããããšãããããã¯ããã«ç°¡åã§ãã 移æ€æ§ã¯åŸããè¿œå ã§ãããã®ã§ã¯ãããŸããã ããšãã°ããã¡ã€ã«APIã«ã¯Windowsã¢ã¯ã»ã¹å¶åŸ¡ãªã¹ãïŒACLïŒã®ãµããŒããå«ãŸããŠããŸãããããã¯ãã¹ãŠã®ç°å¢ã§ãµããŒããããŠããããã§ã¯ãããŸããã APIãèšèšãããšãã¯ããã®ãããªç¹ãæ€èšããå¿ èŠããããŸããç¹ã«ãACLããµããŒãããŠããªããã©ãããã©ãŒã ã§ã¯å©çšã§ããªãå¯èœæ§ã®ããåå¥ã®ã¢ã»ã³ããªã§åæ§ã®æ©èœãæäŸããå¿ èŠããããŸãã
ãã·ã³å šäœã®ãã¬ãŒã ã¯ãŒã¯ãšããŒã«ã«ã¢ããªã±ãŒã·ã§ã³ãã¬ãŒã ã¯ãŒã¯
ãã1ã€ã®èå³æ·±ã課é¡ã¯ã.NET Frameworkã®é åžæ¹æ³ã§ãã
.NET Frameworkã¯ããã·ã³ãã¬ãŒã ã¯ãŒã¯å šäœã§ãã ããã«å ããããå€æŽã¯ãããã«äŸåãããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã«åœ±é¿ããŸãã ãã·ã³å šäœã§åäžã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããããšã¯ã次ã®åé¡ã解決ã§ãããããè³¢æãªæ±ºå®ã§ããã
- éäžãµãŒãã¹
- ãã£ã¹ã¯å®¹éã®èŠä»¶ãåæž
- ã¢ããªã±ãŒã·ã§ã³éã§ãã€ãã£ãã³ãŒããå ±æã§ããŸã
ãããããã¹ãŠã«äŸ¡æ ŒããããŸãã
ãŸããã¢ããªã±ãŒã·ã§ã³éçºè ããªãªãŒã¹ãããã°ããã®ãã¬ãŒã ã¯ãŒã¯ã«ããã«åãæ¿ããããšã¯å°é£ã§ãã å®éããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ææ°ããŒãžã§ã³ã«äŸåããããå¿ èŠã«å¿ããŠ.NET Frameworkãã€ã³ã¹ããŒã«ã§ããã¢ããªã±ãŒã·ã§ã³ã€ã³ã¹ããŒã©ãŒãæºåããå¿ èŠããããŸãã Webéçºè ã®å ŽåãITéšéã䜿çšãèš±å¯ããããŒãžã§ã³ãæ瀺ããããããã®ãããªãªãã·ã§ã³ãããªããããããŸããã ãããŠãããªããã¢ãã€ã«éçºè ã§ããå Žåãäžè¬ã«ãéžæã®äœå°ã¯ãªããã¿ãŒã²ããOSã®ã¿ã決å®ããŸãã
ãã ãã.NET Frameworkã確å®ã«äœ¿çšã§ããããã«ã€ã³ã¹ããŒã©ãŒãæºåããåé¡ã解決ããããšããŠãããã¬ãŒã ã¯ãŒã¯ãæŽæ°ãããšä»ã®ã¢ããªã±ãŒã·ã§ã³ã®åäœãäžæãããå¯èœæ§ããããŸãã
åæ¢ããŸããç§ãã¡ïŒMicrosoftïŒã¯ãç§ãã¡ã®æŽæ°ãéåžžã«äºææ§ããããšèšããŸãããïŒ ã¯ããããã§ãã ãããŠãäºææ§ã®åé¡ãéåžžã«æ·±å»ã«èããŠããŸãã .NET Frameworkã«å ããå€æŽãæ éã«åæããŸãã ãããŠããé倧ãªãå€åãšãªãå¯èœæ§ã®ãããã¹ãŠã«ã€ããŠãçµæã調ã¹ãããã«å¥ã®èª¿æ»ãå®æœããŠããŸãã ç§ãã¡ã¯ãå€ãã®äžè¬çãª.NETã¢ããªã±ãŒã·ã§ã³ããã¹ãããŠãããããå£ããªãããšã確èªããããã®å®å šãªäºææ§ã©ããæã£ãŠããŸãã ãŸããã¢ããªã±ãŒã·ã§ã³ãã©ã®.NET Frameworkã«ãã£ãŠäœæãããããç解ããŸãã ããã«ãããæ¢åã®ã¢ããªã±ãŒã·ã§ã³ãšã®äºææ§ãç¶æãããšåæã«ã.NET Frameworkã®ææ°ããŒãžã§ã³ã§åäœããæºåãã§ããŠããã¢ããªã±ãŒã·ã§ã³ã®åäœãšæ©èœãæ¹åã§ããŸãã
æ®å¿µãªãããäºææ§ã®ããå€æŽã§ããã¢ããªã±ãŒã·ã§ã³ãæ··ä¹±ãããå¯èœæ§ãããããšãããã£ãŠããŸãã 以äžã«äŸã瀺ããŸãã
- æ¢åã®åã«ã€ã³ã¿ãŒãã§ã€ã¹ãè¿œå ãããš ãåã®ã·ãªã¢ã«åæ¹æ³ã«åœ±é¿ãäžããå¯èœæ§ããããããã¢ããªã±ãŒã·ã§ã³ãæ··ä¹±ããå¯èœæ§ããããŸãã
- 以åã«ãªãŒããŒããŒãããªãã£ãã¡ãœããã«ãªãŒããŒããŒããè¿œå ãããš ãã³ãŒããè€æ°ã®ã¡ãœãããæ€åºãã確çãåŠçããªãå Žåã«ãªãã¬ã¯ã·ã§ã³ãäžæãããå¯èœæ§ããããŸãã
- å éšåã®ååãå€æŽãããš ãToStringïŒïŒã¡ãœãããä»ããŠååã決å®ããããšãã¢ããªã±ãŒã·ã§ã³ãç Žæããå¯èœæ§ããããŸãã
ãããã¯ãã¹ãŠéåžžã«ãŸããªã±ãŒã¹ã§ããããŠãŒã¶ãŒããŒã¹ã18åå°ã®è»ã§ããå Žåã99.9ïŒ ã®äºææ§ãããããã180äžå°ã®è»ã圱é¿ãåããŸãã
èå³æ·±ãããšã«ãå€ãã®å Žåã圱é¿ãåããã¢ããªã±ãŒã·ã§ã³ãä¿®æ£ããã«ã¯ãããªãç°¡åãªæé ãå¿ èŠã§ãã ãã ããåé¡ã¯ãã¢ããªã±ãŒã·ã§ã³éçºè ãæ éæã«åžžã«å©çšã§ãããšã¯éããªãããšã§ãã ç¹å®ã®äŸãèŠãŠã¿ãŸãããã
.NET Framework 4ã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ããã¹ãããã¢ããªã±ãŒã·ã§ã³ãšãšãã«ã€ã³ã¹ããŒã«ããã®ã¯ãŠãŒã¶ãŒã§ãã ããããããæ¥ã顧客ã®1人ãããã·ã³ã.NET Framework 4.5ã«ã¢ããã°ã¬ãŒãããå¥ã®ã¢ããªã±ãŒã·ã§ã³ãæäŸããŸããã 顧客ããµããŒãã«é»è©±ãããŸã§ãã¢ããªã±ãŒã·ã§ã³ãå£ããŠããããšã¯ããããŸããã ãã®æç¹ã§ãäºææ§ã®åé¡ãä¿®æ£ããããšã¯æ¢ã«é«äŸ¡ãªäœæ¥ã«ãªãå¯èœæ§ããããŸãïŒé©åãªãœãŒã¹ãèŠã€ããåé¡ãåçŸããããã«ã³ã³ãã¥ãŒã¿ãŒãæ§æããã¢ããªã±ãŒã·ã§ã³ããããã°ããå¿ èŠãªå€æŽãå ãããªãªãŒã¹ãã©ã³ãã«çµ±åãããœãããŠã§ã¢ã®æ°ããããŒãžã§ã³ããªãªãŒã¹ãããã¹ãããæåŸã«è»¢éããå¿ èŠããããŸã顧客ãžã®æŽæ°ã
ããããã®ç¶æ³ãšæ¯èŒããŠãã ãããææ°ããŒãžã§ã³ã®.NET Frameworkã«è¿œå ãããããã€ãã®æ©èœãå©çšããããšã«ããŸããã ãã®æç¹ã§ãéçºæ®µéã«ãããã¢ããªã±ãŒã·ã§ã³ã«å€æŽãå ããæºåãã§ããŠããŸãã ããããªäºææ§ã®åé¡ãããå Žåã¯ã以éã®äœæ¥ã§ç°¡åã«èæ ®ããããšãã§ããŸãã
ãããã®åé¡ã®ããã.NET Frameworkã®æ°ããããŒãžã§ã³ã®ãªãªãŒã¹ã«ã¯ããªãã®æéãããããŸãã ãããŠãå€æŽãç®ç«ã€ã»ã©ãæºåã«æéãããããŸãã ããã¯ãããŒã¿çããã§ã«å®è³ªçã«åçµãããŠãããèšèšå€æŽã®èŠæ±ãæºããæ©äŒãã»ãšãã©ãªãå Žåãé説çãªç¶æ³ã«ã€ãªãããŸãã
2幎åãNuGetãéããŠã©ã€ãã©ãªã®é åžãéå§ããŸããã ãããã®ã©ã€ãã©ãªã.NET Frameworkã«è¿œå ããªãã£ãããããããã垯åå€ãšããŠããŒã¯ããŸãïŒãªãã·ã§ã³ïŒã è¿œå ã®ã©ã€ãã©ãªã¯ãã¢ããªã±ãŒã·ã§ã³ã«ããŒã«ã«ã§ãããããå ã»ã©èª¬æããåé¡ã®åœ±é¿ãåããŸããã ã€ãŸããã¢ããªã±ãŒã·ã§ã³ã®äžéšã§ãããã®ããã«é åžãããŸãã
ãã®ã¢ãããŒãã¯ãäžè¬ã«ãææ°ããŒãžã§ã³ãžã®ã¢ããã°ã¬ãŒãã劚ãããã¹ãŠã®åé¡ãã»ãŒå®å šã«åãé€ããŸãã ã¢ããã°ã¬ãŒãããèœåã¯ãã¢ããªã±ãŒã·ã§ã³ã®æ°ããããŒãžã§ã³ããªãªãŒã¹ããèœåã«ãã£ãŠã®ã¿å¶éãããŸãã ãŸããç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ã䜿çšããã©ã€ãã©ãªã®ããŒãžã§ã³ãå¶åŸ¡ããããšãæå³ããŸãã æŽæ°ã¯ãåããã·ã³äžã®ä»ã®ã¢ããªã±ãŒã·ã§ã³ã«åœ±é¿ãäžããããšãªãã1ã€ã®ã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããã¹ãã§è¡ãããŸãã
ããã«ãããããæè»ãªæ¹æ³ã§æŽæ°ããã°ã©ã ããªãªãŒã¹ã§ããŸãã NuGetã¯ããã¬ãªãªãŒã¹ããŒãžã§ã³ãè©Šãæ©äŒãæäŸããŸããããã«ãããç¹å®ã®APIã®æäœã«é¢ããå³å¯ãªçŽæãªãã«ããã«ãããªãªãŒã¹ã§ããŸãã ãã®ã¢ãããŒãã«ãããã¢ã»ã³ããªèšèšã®æ°é®®ãªå€èŠ³ãæäŸããããã»ã¹ããµããŒãããããšãã§ããŸã-æ°ã«å ¥ããªãå Žåã¯ãå€æŽããã ãã§ãã ããã®è¯ãäŸã¯ãäžå€ã®ã³ã¬ã¯ã·ã§ã³ã§ãã ããŒã¿æéã¯çŽ9ãæç¶ããŸããã æåã®ããŒãžã§ã³ããªãªãŒã¹ããåã«ãé©åãªèšèšãåŸãããã«å€ãã®æéãè²»ãããŸããã èšããŸã§ããªããã©ã€ãã©ãªã®ãã¶ã€ã³ã®æçµããŒãžã§ã³ã¯ãå€ãã®ã¬ãã¥ãŒã®ãããã§ãåæããŒãžã§ã³ãããã¯ããã«åªããŠããŸãã
.NET Coreãžãããã
ãããã®ãã¹ãŠã®åŽé¢ã«ãããå°æ¥ã.NETãã©ãããã©ãŒã ã®åœ¢æãžã®ã¢ãããŒããåèããå€æŽããããšãäœåãªããããŸããã ããã«ããã.NET CoreãäœæãããŸããã
.NET Coreã¯ãããŒã¿ã»ã³ã¿ãŒããã¿ããããã€ã¹ãŸã§ãããŸããŸãªæ¥çš®ã§äœ¿çšã§ããã¢ãžã¥ãŒã«åŒã®å®è£ ã§ããããªãŒãã³ãœãŒã¹ã§å©çšã§ããWindowsãLinuxãããã³Mac OSXã§Microsoftã«ãã£ãŠãµããŒããããŠããŸãã
.NET Coreãšã¯äœããããã³æ°ããã¢ãããŒããäžèšã®åé¡ã«ã©ã®ããã«å¯ŸåŠããŠãããã詳ããèŠãŠã¿ãŸãããã
.NET Nativeããã³ASP.NETã®çµ±åå®è£
.NET Nativeãèšèšãããšãã.NET Frameworkãã¯ã©ã¹ã©ã€ãã©ãªãã¬ãŒã ã¯ãŒã¯ã®åºç€ãšããŠäœ¿çšã§ããªãããšã¯æããã§ããã .NET Nativeãå®éã«ãã¬ãŒã ã¯ãŒã¯ãã¢ããªã±ãŒã·ã§ã³ãšããŒãžãããã€ãã£ãã³ãŒããçæããåã«ã¢ããªã±ãŒã·ã§ã³ã§äžèŠãªéšåãåé€ããã®ã¯ãã®ããã§ãïŒãã®ããã»ã¹ããããŸãã«åçŽåããããããã¡ãã§è©³çŽ°ã調ã¹ãããšãã§ããŸã ïŒã åã«èª¬æããããã«ã.NET Frameworkã®å®è£ ã¯å解ãããŸãããããã«ããããªã³ã«ãŒãã¢ããªã±ãŒã·ã§ã³ã«ãã³ã³ãã€ã«ãããããã¬ãŒã ã¯ãŒã¯ã®éšåãæžããããšãé£ãããªããŸã-äŸåé¢ä¿ã®ããé åã¯åçŽã«éåžžã«å€§ãããªããŸãã
ASP.NET 5ã§ãåæ§ã®åé¡ãçºçããŸããã .NET Nativeã䜿çšããŸããããæ°ããASP.NET 5 Webã¹ã¿ãã¯ã®ç®æšã®1ã€ã¯ãWebéçºè ãITéšéãšèª¿æŽããŠææ°ããŒãžã§ã³ã®æ©èœãè¿œå ããå¿ èŠããªãããã«ãç°¡åã«ã³ããŒã§ããã¹ã¿ãã¯ãæäŸããããšã§ããã ãã®ã·ããªãªã§ã¯ããã¬ãŒã ã¯ãŒã¯ã¯ã¢ããªã±ãŒã·ã§ã³ãšãšãã«é 眮ããå¿ èŠãããããããã¬ãŒã ã¯ãŒã¯ã®ãµã€ãºãæå°åããããšãéèŠã§ãã
å®éã.NET Coreã¯.NET Frameworkã®ãã©ãŒã¯ã§ããããã®å®è£ ã¯å解ã¿ã¹ã¯çšã«æé©åãããŠããŸãã .NET NativeïŒã¢ãã€ã«ããã€ã¹ïŒãšASP.NET 5ïŒWebéçºã®ãµãŒããŒåŽïŒã®ã¹ã¯ãªããã¯é çªãç°ãªããŸãããçµ±åãããBase Class LibraryïŒBCLïŒãäœæã§ããŸããã
.NET Core BCLã§å©çšå¯èœãªAPIã»ããã¯ãäž¡æ¹ã®æ¥çš®ã§åãã§ãã.NETNativeãšASP.NET 5ã®äž¡æ¹ã§ãBCLã«ã¯ã.NETã©ã³ã¿ã€ã ã«åºæã®éåžžã«èãã¬ã€ã€ãŒããããŸãã çŸæç¹ã§ã¯ã2ã€ã®å®è£ ããããŸãã1ã€ã¯.NETãã€ãã£ãç°å¢å°çšããã1ã€ã¯ASP.NET 5ã§äœ¿çšãããCoreCLRå°çšã§ãããã ãããã®ã¬ã€ã€ãŒã¯ããŸãé »ç¹ã«å€æŽãããŸããã StringãInt32ãªã©ã®åãå«ãŸããŠããŸãã ã»ãšãã©ã®BCLã¯ããã®ãŸãŸåå©çšã§ããçŽç²ãªMSILã¢ã»ã³ããªã§ãã ã€ãŸããAPIã¯åãããã«èŠããã ãã§ãªããåãå®è£ ã䜿çšããŸãã ããšãã°ãã³ã¬ã¯ã·ã§ã³ã«ç°ãªãå®è£ ã䜿çšããçç±ã¯ãããŸããã
BCLã®äžã«ãã¢ããªã±ãŒã·ã§ã³ã¢ãã«ã«åºæã®APIããããŸãã ç¹ã«ã.NET Nativeã¯ãWinRTçžäºéçšæ©èœãªã©ãWindowsã¯ã©ã€ã¢ã³ãéçºã«åºæã®APIãæäŸããŸãã ASP.NET 5ã¯ãWebéçºã®ãµãŒããŒåŽã«åºæã®MVCãªã©ã®APIãè¿œå ããŸãã
.NET Coreã¯ã.NET NativeãŸãã¯ASP.NET 5 BCLã«åºæã§ã¯ãªãã³ãŒããšèŠãªãããŸãã ã©ã³ã¿ã€ã ç°å¢ã¯äžè¬åãããã¿ã¹ã¯ã察象ãšããã¢ãžã¥ãŒã«åŒã«ãªãããã«èšèšãããŠããŸãã ãã®ããã«ããŠããããã¯å°æ¥ã®.NETåéã®åºç€ã圢æããŸãã
ãã¡ãŒã¹ãã¯ã©ã¹ã®é ä¿¡ã¡ã«ããºã ãšããŠã®NuGet
.NET Frameworkãšã¯ç°ãªãã.NET Coreãã©ãããã©ãŒã ã¯NuGetããã±ãŒãžã®ã»ãããšããŠæäŸãããŸãã NuGetã«äŸåããŠããã®ã¯ãããããŸãã«ã©ã€ãã©ãªãšã³ã·ã¹ãã ã®ã»ãšãã©ãæ¢ã«é 眮ãããŠããå Žæã ããã§ãã
.NET Coreå šäœãåäžã®NuGetããã±ãŒãžãšããŠæäŸãã代ããã«ãã¢ãžã¥ãŒã«æ§ãšé©åãªå解ã«åããåãçµã¿ãç¶ç¶ããããã«ãäžé£ã®NuGetããã±ãŒãžã«å解ããŸãã
BCLã¬ã€ã€ãŒã§ã¯ããã«ããšNuGetããã±ãŒãžãçŽæ¥å¯Ÿå¿ããŸãã
å°æ¥çã«ã¯ãNuGetããã±ãŒãžã®ååã¯ã¢ã»ã³ããªãšåãã«ãªããŸãã ããšãã°ãäžå€ã®ã³ã¬ã¯ã·ã§ã³ã¯Microsoft.Bcl.Immutableãšããååã§é åžãããªããªãã代ããã«System.Collections.Immutableãšããããã±ãŒãžã«å«ãŸããŸãã
ããã«ãã¢ã»ã³ããªã®ããŒãžã§ã³ç®¡çã«ã»ãã³ãã£ãã¯ã¢ãããŒãã䜿çšããããšã«ããŸããã NuGetããã±ãŒãžã®ããŒãžã§ã³çªå·ã¯ãã¢ã»ã³ããªã®ããŒãžã§ã³ãšäžèŽããŸãã
ã¢ã»ã³ããªãšããã±ãŒãžéã®åœåãšããŒãžã§ã³ç®¡çã®äžè²«æ§ã«ãããæ€çŽ¢ãéåžžã«å®¹æã«ãªããŸãã System.Fooã«å«ãŸããããã±ãŒãžãããŒãžã§ã³= 1.2.3.0ã«ã€ããŠè³ªåããå¿ èŠã¯ãããŸãããããã¯ãããŒãžã§ã³1.2.3ã®System.Fooããã±ãŒãžã«å«ãŸããŠããŸãã
NuGetã䜿çšãããšã.NET Coreãæè»ã«æäŸã§ããŸãã ãããã£ãŠãNuGetããã±ãŒãžã®ã¢ããããŒãããªãªãŒã¹ããå Žåã察å¿ãããªã³ã¯ãNuGetã«ã¢ããããŒãããã ãã§ãã
ãŸããNuGetãä»ããŠãã¬ãŒã ã¯ãŒã¯ãæäŸãããšããã€ãã£ãã®.NETäŸåé¢ä¿ãšãµãŒãããŒãã£ã®äŸåé¢ä¿ã®éãããªããªããŸããããã¯ãNuGetã®äŸåé¢ä¿ã«éããŸããã ããã«ããããµãŒãããŒãã£ã®ããã±ãŒãžã¯ãããšãã°ãSystem.Collectionsã©ã€ãã©ãªã®ææ°ããŒãžã§ã³ãå¿ èŠã§ããããšã宣èšã§ããŸãã ãµãŒãããŒãã£ããã±ãŒãžãã€ã³ã¹ããŒã«ãããšãSystem.Collectionsãžã®ãªã³ã¯ãæŽæ°ã§ããããã«ãªããŸããã äŸåé¢ä¿ã°ã©ããç解ããå¿ èŠã¯ãããŸãã-ããã«å€æŽãå ããã«ã¯åæã®ã¿ãå¿ èŠã§ãã
NuGetããŒã¹ã®é ä¿¡ã«ããã.NET Coreãã©ãããã©ãŒã ãããŒã«ã«ã¢ããªã±ãŒã·ã§ã³ãã¬ãŒã ã¯ãŒã¯ã«å€ãããŸãã .NET Coreã®ã¢ãžã¥ãŒã«èšèšã«ããããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã¯å¿ èŠãªãã®ã ããã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã ãŸããè€æ°ã®ã¢ããªã±ãŒã·ã§ã³ãåããã¬ãŒã ã¯ãŒã¯ãã«ãã䜿çšããå ŽåããªãœãŒã¹ãã¹ããŒãã«å ±æã§ããããã«åãçµãã§ããŸãã ãã ããç®æšã¯ãæŽæ°ãåããã·ã³äžã®ä»ã®ã¢ããªã±ãŒã·ã§ã³ã«åœ±é¿ãäžããªãããã«ãåã¢ããªã±ãŒã·ã§ã³ãè«ççã«ç¬èªã®ãã¬ãŒã ã¯ãŒã¯ãæã€ããã«ããããšã§ãã
é ä¿¡ã¡ã«ããºã ãšããŠNuGetã䜿çšãããšãã決å®ã¯ãçžäºéçšæ§ãžã®ã³ãããã¡ã³ããå€æŽãããã®ã§ã¯ãããŸããã åŒãç¶ããã®ã¿ã¹ã¯ãå¯èœãªéãçå£ã«åãæ¢ããããã±ãŒãžãå®å®ãããã®ãšããŠããŒã¯ããããšãã¢ããªã±ãŒã·ã§ã³ãã¢ããªã±ãŒã·ã§ã³ãæ··ä¹±ãããå¯èœæ§ã®ããAPIãåäœãå€æŽããŸããã ãã ããã¢ããªã±ãŒã·ã§ã³ã®ãªã³ãã¬ãã¹å±éã«ãããè¿œå ãããå€æŽã«ãã£ãŠã¢ããªã±ãŒã·ã§ã³ãç ŽæãããŸããªã±ãŒã¹ãéçºããã»ã¹ã«éå®ãããããšã確èªã§ããŸãã ã€ãŸãã.NET Coreã®å Žåããã®ãããªéåã¯ããã±ãŒãžãªã³ã¯ãæŽæ°ãããšãã«ã®ã¿çºçããŸãã çŸæç¹ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã®äºææ§ã®åé¡ãä¿®æ£ããããNuGetããã±ãŒãžã®ä»¥åã®ããŒãžã§ã³ã«ããŒã«ããã¯ãããšãã2ã€ã®ãªãã·ã§ã³ããããŸãã ãã ãã.NET Frameworkãšã¯ç°ãªãããã®ãããªéåã¯ã顧客ã«ã¢ããªã±ãŒã·ã§ã³ãé ä¿¡ããåŸããŸãã¯éçšãµãŒããŒã«å±éããåŸã¯çºçããŸããã
äŒæ¥ã§ã®äœ¿çšã«å¯Ÿå¿ã
NuGetã«ããé ä¿¡ã¢ãã«ã䜿çšãããšãæè»ãªãªãªãŒã¹ããã»ã¹ãšããé«éãªæŽæ°ãè¡ãããšãã§ããŸãã ãã ããä»æ¥ã®.NET Frameworkã§ã®äœæ¥ã«ååšããã1ãæã§ååŸããçµéšãåãé€ãããšã¯æã¿ãŸããã
å³å¯ã«èšãã°ã.NET Frameworkã¯éåžžã«çŸããããã1ã€ã®ãŠããããšããŠæäŸãããŸããã€ãŸããMicrosoftã¯ã³ã³ããŒãã³ãã1ã€ã®ãšã³ãã£ãã£ãšããŠãã¹ãããã³ãµããŒãããŠããŸãã .NET Coreã®å Žåããã®æ©èœãæäŸããŸãã .NET Coreé åžã®æŠå¿µã玹ä»ããŸãã ç°¡åã«èšãã°ãããã¯ãã¹ãããç¹å®ã®ããŒãžã§ã³ã®ãã¹ãŠã®ããã±ãŒãžã®åãªãã¹ã©ã€ã¹ã§ãã
åºæ¬çãªèãæ¹ã¯ãããŒã ãåã ã®ããã±ãŒãžãæ åœããããšã§ãã ã³ãã³ãã®1ã€ã®ããã±ãŒãžã®æ°ããããŒãžã§ã³ã®ãªãªãŒã¹ã§ã¯ãäŸåããã³ã³ããŒãã³ãã®ã³ã³ããã¹ãã§ãã®ã³ã³ããŒãã³ãã®ã¿ããã¹ãããå¿ èŠããããŸãã ç°ãªãNuGetããã±ãŒãžãæ··åšãããããšãã§ãããããã³ã³ããŒãã³ãã®åå¥ã®çµã¿åãããããŸããããã³ã°ãããªãç¶æ³ã«é¥ãããšããããŸãã .NET Coreã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ã¯ããã¹ãŠã®ã³ã³ããŒãã³ããçžäºã«çµã¿åãããŠãã¹ããããããããã®ãããªåé¡ã¯çºçããŸããã
ãã£ã¹ããªãã¥ãŒã·ã§ã³ã¯ãåã ã®ããã±ãŒãžãããäœãé »åºŠã§ãªãªãŒã¹ãããäºå®ã§ãã çŸåšã幎é4ã€ã®åé¡ã«ã€ããŠæ€èšããŠããŸãã ããã«ãããNastã¯å¿ èŠãªãã¹ããå®è¡ãããšã©ãŒãä¿®æ£ããã³ãŒãã«çœ²åããããã«å¿ èŠãªæéã®äœè£ãåŸãããšãã§ããŸãã
.NET Coreã¯NuGetããã±ãŒãžã®ã»ãããšããŠé åžãããŸãããããã¯ãããžã§ã¯ããäœæãããã³ã«ããã±ãŒãžãããŠã³ããŒãããå¿ èŠããããšããæå³ã§ã¯ãããŸããã ãã£ã¹ããªãã¥ãŒã·ã§ã³çšã®ãªãã©ã€ã³ã€ã³ã¹ããŒã©ãŒãæäŸããŠãããããããVisual Studioã«ãå«ãããããæ°ãããããžã§ã¯ãã®äœæã¯çŸåšãšåããããéããéçºããã»ã¹äžã«ã€ã³ã¿ãŒãããæ¥ç¶ãå¿ èŠãšããŸããã
ã¢ããªã±ãŒã·ã§ã³ããŒã«ã«å±éã¯ãæ°æ©èœãžã®äŸåã®åœ±é¿ãåé¢ããã®ã«åªããŠããŸããããã¹ãŠã®å Žåã«å®å šã«é©ããŠãããšã¯éããŸããã éèŠãªãã°ä¿®æ£ã¯ãå¹æçã§ããããã«è¿ éãã€å šäœçã«é åžãããªããã°ãªããŸããã .NETã®å Žåã¯åžžã«ããã§ãã£ãããã«ãã»ãã¥ãªãã£æŽæ°ããã°ã©ã ã®ãªãªãŒã¹ã«å šé¢çã«åãçµãã§ããŸãã
.NET Frameworkã®äžå çãªæŽæ°ã§éå»ã«èŠãäºææ§ã®åé¡ãåé¿ããã«ã¯ãã»ãã¥ãªãã£ã®è匱æ§ã®ã¿ã«çŠç¹ãåãããããšãéèŠã§ãã ãã¡ãããåæã«ããã®ãããªæŽæ°ã«ãã£ãŠã¢ããªã±ãŒã·ã§ã³ã®åäœãäžæãããå¯èœæ§ã¯ãŸã ãããã§ãã ãã®ããããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ãè匱æ§ã§åäœããå Žåãããå°ããªã¢ããªã±ãŒã·ã§ã³ã®ã»ãããåäœãåæ¢ããããšãæ³å®ããããšã蚱容ãããå Žåãæ¬åœã«é倧ãªåé¡ã«ã€ããŠã®ã¿æŽæ°ããªãªãŒã¹ããŸãã
ãªãŒãã³ãœãŒã¹ãšã¯ãã¹ãã©ãããã©ãŒã ã®åºç€
ãµããŒããããŠãã圢åŒã§.NETã¯ãã¹ãã©ãããã©ãŒã ãäœæããããã«ã.NET Coreã®ãœãŒã¹ã³ãŒããéãããšã«ããŸããã
éå»ã®çµéšããããªãŒãã³ãœãŒã¹ã®æåã¯ãã®åšèŸºã®ã³ãã¥ããã£ã«äŸåããããšãããã£ãŠããŸãã ãã®éèŠãªåŽé¢ã¯ãã³ãã¥ããã£ãã³ãŒãã¬ãã¥ãŒã«åå ããèšèšããã¥ã¡ã³ãã«ç²Ÿéãã補åã«å€æŽãå ããããšãå¯èœã«ãããªãŒãã³ã§éæãªéçºããã»ã¹ã§ãã
ãªãŒãã³ãœãŒã¹ã«ããã.NETã®çµ±åãã¯ãã¹ãã©ãããã©ãŒã éçºã«æ¡åŒµã§ããŸãã ã³ã¬ã¯ã·ã§ã³ãªã©ã®åºæ¬ã³ã³ããŒãã³ããæ°åå®è£ ããå¿ èŠãããç¶æ³ã¯ããšã³ã·ã¹ãã ã«æªåœ±é¿ãåãŒããŸãã .NET Coreã®ç®æšã¯ãWindowsãLinuxãããã³Mac OSXãå«ããã¹ãŠã®ãã©ãããã©ãŒã ã§ã³ãŒããäœæããã³ä¿å®ããããã«äœ¿çšã§ããåäžã®ã³ãŒãããŒã¹ãæã€ããšã§ãã
ãã¡ããããã¡ã€ã«ã·ã¹ãã ãªã©ã®åã ã®ã³ã³ããŒãã³ãã«ã¯ãåå¥ã®å®è£ ãå¿ èŠã§ãã NuGetã«ããé ä¿¡ã¢ãã«ã§ã¯ããããã®éããç¡èŠã§ããŸãã åç°å¢ã«ããŸããŸãªå®è£ ãæäŸããåäžã®NuGetããã±ãŒãžã䜿çšã§ããŸãã ãã ããããã§éèŠãªç¹ã¯ãã³ã³ããŒãã³ãã®å éšãããã³ã§ããããšã§ãã éçºè ã®èŠ³ç¹ããèŠããšãããã¯ç°ãªããã©ãããã©ãŒã ã§å®è¡ãããåäžã®APIã§ãã
ãããèŠããã1ã€ã®æ¹æ³ã¯ããªãŒãã³ãœãŒã¹ã®åºåããããæè»ãªæ¹æ³ã§.NETã³ã³ããŒãã³ãããªãªãŒã¹ãããšããåœç€Ÿã®ã³ãããã¡ã³ãã®ç¶ç¶ã§ããããšã§ãã
- ãªãŒãã³ãœãŒã¹ã«ãããããªã¢ã«ã¿ã€ã ãã§å®è£ ãšéçºã®äžè¬çãªæ¹åæ§ãç解ããããšãã§ããŸã
- NuGet.orgã«ãããã±ãããªãªãŒã¹ã«ãããã³ã³ããŒãã³ãã¬ãã«ã®æè»æ§ãåŸãããŸã
- ãã£ã¹ããªãã¥ãŒã·ã§ã³ã¯ãã©ãããã©ãŒã ã¬ãã«ã®æè»æ§ãæäŸããŸã
3ã€ã®èŠçŽ ãã¹ãŠãååšãããããææ決å®ã®å¹ åºãæè»æ§ãšæç床ãå®çŸã§ããŸãã
.NET Coreãæ¢åã®ãã©ãããã©ãŒã ã«æ¥ç¶ãã
.NET Coreã¯ãåŸç¶ã®ãã¹ãŠã®ã¹ã¿ãã¯ã®ã³ã¢ã«ãªãããã«èšèšããŸãããã誰ãã䜿çšã§ãããåäžã®ãŠãããŒãµã«ã¹ã¿ãã¯ããäœæãããžã¬ã³ãã«éåžžã«ç²ŸéããŠããŸãã
æ¢åã®ã¹ã¿ãã¯ãšã®è¯å¥œãªäºææ§ãç¶æããªãããå°æ¥ã®åºç€ãç¯ããšãããã©ã³ã¹ãåããŠããããã«æããŸãã ãããã®ãã©ãããã©ãŒã ã®ããã€ãã詳ããèŠãŠã¿ãŸãããã
.NET Framework 4.6
.NET Frameworkã¯äŸç¶ãšããŠãªãããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ãäœæããããã®éèŠãªãã©ãããã©ãŒã ã§ããã.NET Coreã¯ãããå€æŽããŸããã
Visual Studio 2015ã®ã³ã³ããã¹ãã§ã¯ã.NET Coreã.NET Frameworkã®çŽç²ãªãµãã»ããã§ããããšã確èªããããšãç®æšã§ãã ã€ãŸããæ©èœã«ã®ã£ããã¯ãªãã¯ãã§ãã Visual Studio 2015ã®ãªãªãŒã¹ã«ããã.NET Coreã¯.NET Frameworkãããéãæé·ãããšäºæ³ãããŸãã ããã¯ãããæç¹ã§ã.NET CoreããŒã¹ã®ãã©ãããã©ãŒã ã§ã®ã¿å©çšå¯èœãªæ©äŒãããããšãæå³ããŸãã
.NET Frameworkã®æŽæ°ãåŒãç¶ããªãªãŒã¹ããŸãã ç§ãã¡ã®çŸåšã®èšç»ã«ã¯ãä»æ¥ãšåãé »åºŠã®æ°ããåé¡ãå«ãŸããŠããŸããã€ãŸãã1幎ã«1åçšåºŠã§ãã ãããã®æŽæ°ã§ã¯ã.NET Coreãã.NET Frameworkã«é©æ°ã移æ€ããŸãã ãã ããåã«ãã¹ãŠã®æ°æ©èœãç²ç®çã«è»¢éããã®ã§ã¯ãªããã³ã¹ããšå©ç¹ã®åæã«åºã¥ããŠè¡ããŸãã åè¿°ããããã«ã.NET Frameworkã®ã¢ããªã³ã ãã§ããæ¢åã®ã¢ããªã±ãŒã·ã§ã³ã§åé¡ãçºçããå¯èœæ§ããããŸãã ããã§ã®ç®æšã¯ã.NET Frameworkäžã®æ¢åã®ã¢ããªã±ãŒã·ã§ã³ãšã®äºææ§ãæãªãããšãªããAPIãšåäœã®éããæå°éã«æããããšã§ãã
éèŠïŒ ããã©ããããæè³ã®äžéšã¯.NET Frameworkã§ã®ã¿è¡ãããŸããããšãã°ã WPFããŒããããã§çºè¡šããèšç»ã§ãã
ã¢ã
çããã®å€ãã¯ã.NET Core for Monoã®ã¯ãã¹ãã©ãããã©ãŒã ã®æŽå²ãäœãæå³ããã®ããšå°ããŠããŸããã å®éãMonoãããžã§ã¯ãã¯ïŒåïŒãªãŒãã³ãœãŒã¹ã®.NET Frameworkå®è£ ã§ãã ãã®çµæã.NET Frameworkããã®å ±éã®è±å¯ãªAPIã ãã§ãªããç¹ã«å解ã®ç¹ã§ããèªäœã®åé¡ããããŸãã
ã¢ãã¯çããŠãããåºããšã³ã·ã¹ãã ãæã£ãŠããŸãã ãã®ããã.NET Coreã«é¢ä¿ãªãã ãªãŒãã³ãœãŒã¹ã®äœ¿ããããGitHubã©ã€ã»ã³ã¹ã®äžã§.NET Framework Reference Sourceã®äžéšããªãªãŒã¹ããŸããã ããã¯ãMonoã³ãã¥ããã£ã.NET FrameworkãšMonoã®éãããªãããåãã³ãŒãã䜿çšããã®ãå©ããããã«ç¹ã«è¡ãããŸããã ãã ãã.NET Frameworkã¯è€éã§ãããããGitHubã§ãªãŒãã³ãœãŒã¹ãããžã§ã¯ããšããŠèµ·åããæºåãã§ããŠããŸãããç¹ã«ãå€æŽèŠæ±ãåãå ¥ããããšã¯ã§ããŸããã
å¥ã®èŠæ¹ããããšã.NET Frameworkã«ã¯å®éã«ã¯2ã€ã®åå²ç¹ããããŸãã 1ã€ã®ãã©ãŒã¯ã¯Microsoftã«ãã£ãŠæäŸãããWindowsã§ã®ã¿æ©èœããŸãã ãã1ã€ã®ãã©ãŒã¯ã¯Monoã§ããããã¯Linuxããã³Macã§äœ¿çšã§ããŸãã
.NET Coreã䜿çšãããšã.NETã¹ã¿ãã¯å šäœããªãŒãã³ãœãŒã¹ãããžã§ã¯ããšããŠéçºã§ããŸãã ãããã£ãŠãå¥ã®ãã©ãŒã¯ãç¶æããå¿ èŠã¯ãããããŸãããMonoã³ãã¥ããã£ãšå ±ã«ã.NET CoreãWindowsãLinuxãããã³Mac OSXã§æ£åžžã«åäœãããŸãã ãŸããMonoã³ãã¥ããã£ã¯ãã³ã³ãã¯ããª.NET Coreã¹ã¿ãã¯ãé©æ°ããMicrosoftãèå³ãæããªãç°å¢ã«ç§»æ€ããããšãã§ããŸãã
Windowsã¹ãã¢ãšWindows Phone
Windowsã¹ãã¢8.1ããã³Windows Phone 8.1ãã©ãããã©ãŒã ã¯ãã©ã¡ãã.NET Frameworkã®éåžžã«å°ããªãµãã»ããã§ãã ãã ãããããã¯.NET Coreã®ãµãã»ããã§ããããŸãã ããã«ããããããã®ãã©ãããã©ãŒã ã®äž¡æ¹ã®å®è£ ã®åºç€ãšããŠ.NET CoreãåŒãç¶ã䜿çšã§ããŸãã , , .
, BCL API, , , ASP.NET 5. , . , .NET Framework .
BCL API Windows Store Windows Phone , .NET .NET Core.
.NET Core .NET
.NET Core .NET-, , .NET, .
, , .NET Core, , .NET Framework. : , :
- , , , - .
- , - , , #if.
«Sharing code across platforms» .
, .NET Core. , .NET Core, API. , NuGet-, .
, .NET Core, API, . - NuGet-, .
, , .NET Core.
ãŸãšã
.NET Core â .NET-, NuGet. Mono, Windows, Linux Mac, Microsoft .
, .NET Framework . .NET Core, NuGet-, . Visual Studio , NuGet-, -.
, , NuGet-.
, , ( ), @dotnet .NET Foundation . , .
: