CodePlex ã«ç½®ãã¦ãã£ã .NET Framework 3.0 æä»£ã«æ¸ãããã¢ããªã±ã¼ã·ã§ã³ããGitHub ã«ç§»è¡ãã¤ã¤ .NET 5 ã§åãããã« 2 é±éãããé å¼µã£ãè©±ãæ¸ãã¾ããæ£ç´ãªã¨ãã 12 å¹´åã«æ¸ãããã³ã¼ããä½ã¨ãããã®ã¯ãã£ã¡ã大å¤ã§ããã
ä»åã³ã¼ãã®æ¹åãé å¼µã£ãã®ã§è²ã ãªå®é¨å ´ã¨ãã¦ã使ããããã«ãã¦ãã¾ããç¹ã« GitHub å¨ãã¯æ°ããæ©è½ã使ã£ã¦ã¿ãããã«ãã¦ãã¾ãã
.NET Framework 3.0 æä»£ã«æ¸ãããã³ã¼ããä½ã¨ãããã®ãæ¬å½ã«å¤§å¤ã ã£ãï¼ã¾ã ä½ã¨ãåºæ¥ã¦ãªã https://t.co/u5SrISQRCL
— Tatsuro Shibamura (@shibayan) 2021å¹´5æ9æ¥
å®éã«ã¯ .NET 5 ã§åãããã«ã¯ãªã£ã¦ãã¾ãããä¸èº«ã¯å¤èãå®è£ ãããããæ®ã£ã¦ããã®ã§ããã¤ã¼ãã®éãå ¨ç¶ä½ã¨ããªã£ã¦ããªãç¶æ³ã§ããã4 é±éã¹ããªã³ãã§æ¹åãã¦ããäºå®ã§ãã
ãã¦ãä»å .NET 5 㨠GitHub ã¸ã®ç§»è¡ã«å½ãã£ã¦ã¯å¤§ä½ä»¥ä¸ã®ãããªä½æ¥ãè¡ãã¾ããã
ç¹ã« GitHub ã§ã®å ¬éã®ããã«è¡ã£ã使¥ã¯ãããã¾ã§èªåãç¹ã«æèããã«è¡ã£ã¦ããé¨åãªã®ã§ãä»å¾è¿·ã£ãæã®ããã«ä½ããã£ãããæ¸ãã ããæãã§ãã
ã¶ã£ã¡ããå½ããåã®ãã¨ãããã£ã¦ããªãã®ã§ããã使¥ã¡ã¢ã¨ãããã¨ã§ã
æ¢åã³ã¼ãã®ææ°å
WPF (.NET 5) 㨠C# 9.0 ã¸ç§»è¡
å ã®ã³ã¼ããè¦ã㨠WPF ã¯ä½¿ããã¦ãã¾ãããã.NET Framework 3.0 æä»£ã§ LINQ ãã©ã ãå¼ãã¾ã¨ãã«ä½¿ããã¦ããªãæ²æ¨ãªç¶æ³ã ã£ãã®ã§ããã®è¾ºããä½ã¨ãããå¿ è¦ãããã¾ããã
ã¨ããããæåã« .NET Framework 3.0 ãã .NET 5 ã¸ç§»è¡ããå¿
è¦ãããã¾ããä»åã¯å
ã« csproj ã .NET 5 åãã«ãã¦ãã³ã³ãã¤ã«ã¨ã©ã¼ãæ½°ãã¦ããæ¹æ³ã§å¯¾å¿ãã¾ãããMigration ç¨ãã¼ã«ãããã¾ãããåã£ãä½ãã§ã¯ãªãã®ã§ä½¿ãã¾ããã§ããã
ã¿ã¼ã²ãããææ°ã«ãã㨠C# èªä½ãææ°ã®ãã®ã使ããããã«ãªãã®ã§ãVisual Studio 㨠ReSharper ã大éã«ã¡ãã»ã¼ã¸ãåºåããããã«ãªãã¾ããå ãã©ã ãå¼ã§ã¯ãªãå¿åããªã²ã¼ãã使ããã¦ããç¶æ ã ã£ãã®ã§ãR# ã使ã£ã¦ä¸æ¬ã§æ´å½¢ããªããã¾ããã
åºæºã¨ãªãã³ã¼ããã©ã¼ããããæå®ããããã« .editorconfig ãç¨æãã¦ããã¾ããæã¯ ReSharper ã®è¨å®ãã¡ã¤ã«ã Repo ã«ããã¦å
±æãã¦ãã¾ããããæè¿ã¯ .NET Runtime ã® .editorconfig ã使ãããã«ãã¦ãã¾ãã
C# ã³ã¼ãã£ã³ã°ã¹ã¿ã¤ã«ã¯ dotnet/runtime ã«ãã .editorconfig ãäºå®ä¸æ¨æºã¨æã£ã¦ããã®ã§ããããã³ãããã¦ä½¿ãã®ã楽ã ã¨æã https://t.co/u3uz2W0fn1
— Tatsuro Shibamura (@shibayan) 2021å¹´5æ14æ¥
ä¸é¨ .editorconfig ä¸ã§ suggestion ã«ãªã£ã¦ããé¨åãªã©ã¯è¥å¹²å¼ã£ã¦ãã¾ãã Visual Studio ã R# ã® .editorconfig çææ©è½ã¯ã¾ã ã¾ã ã¨ããæãã§ããã
.NET 5 ã¨äºææ§ã®ãªã API ã使ã£ã¦ããé¨åãä¿®æ£
.NET 5 㯠.NET Framework ã¨é«ãäºææ§ãæã¡ã¾ãããä¸é¨ã®ãã©ãããã©ã¼ã ã«ä¾åãã API ã¯åä½ããªããªã£ã¦ãã¾ãã以ä¸ã®ããã¥ã¡ã³ãã«ããéããå¼ã³åºãã¨å¸¸ã«ä¾å¤ãæãããã API ãåå¨ãã¦ãã¾ãã
ã³ã³ãã¤ã«æã«è¦åã¨ãã¦åºåãããã®ã§ããããããã§ãããå¼ã³åºãã¦ãã¾ãã¨å¸¸ã«ä¾å¤ãæããããã®ã§å½ç¶ãªããæ£ããåãã¾ãããç¡è¦ããã«æ¥ãã§å¯¾å¿ãã¾ãã
ä»å㯠Thread#Abort ãå¼ã£æããã¾ãããããããã¹ã¬ãããç´æ¥ä½¿ããªã¨ãã話ã§ã¯ããã®ã§ãããæµç³ã« Task ãã¼ã¹ã«ç½®ãæããæéãç¡ãã£ãã®ã§å¼ã³åºããåé¤ãã¦å¯¾å¿ãã¾ããã
åºæ¬çã«ã¯ã¹ã¬ãããç´æ¥ä½¿ãé¨åãå
¨ã¦ Task ã使ã£ã¦åå®è£
ããæ¹åã§ãã¾ãã
.NET Remoting ã使ã£ã¦ããé¨åã gRPC ã§åå®è£
ä¸çªã®åé¡ç¹ã¯ .NET Remoting ã使ã£ã¦ããé¨åãã©ã®ããã«åå®è£ ãããã§ããã.NET 5 ã§ã¯ .NET Remoting ãå±éºãªæ©è½ã¨ãã¦æ±ããã¦ãã¦ãå®è£ ããã¦ããªãã®ã§å¥ã®ææ®µã§å®ç¾ããå¿ è¦ãããã¾ããã
.NET Remoting ã¯åãªã RPC ãªã®ã§ä»å㯠gRPC ã使ããã¨ã«ãã¾ãããæ£ç´ãªã¨ãããã¾ãä½¿ãæ©ä¼ãç¡ãã£ãã®ã§ãã¡ããã¨ä½¿ã£ã¦ã¿ããã¨ããæå³ãããã¾ããã
.NET 5 ã§ gRPC ã使ãããã®ããã¥ã¡ã³ãã¯ããªãæã£ã¦ããã®ã§é£ãããã¨ã¯ç¹ã«ããã¾ããã§ãããããã«ãæã®ã³ã¼ãçæç³»ã¯ IntelliSense ã®åä½ãä¸å®å®ãªã®ã§ãã¾ã好ãã§ã¯ãªãã§ãã
ä»åã¯ã¯ã©ã¹ã©ã¤ãã©ãªã« proto ãã¡ã¤ã«ãç½®ãã¦ããµã¼ãã¼ã¨ã¯ã©ã¤ã¢ã³ãã§å ±æãããããã«ãã¦ãã¾ããç¹å¥ãªãã¨ã¯è¡ã£ã¦ãã¾ãããããã¼ã¸ã§ãã³ã°ãªã©ã¯æ¤è¨ããå¿ è¦ãããããã§ãã
åä½ããªãå®è£ ãéå°ãªæ©è½ãåé¤
æ´å²ççµç·¯ããã»ã¼ãããã³ã¼ãã¨ãªã£ã¦ããé¨åã¯æ©ã ã«åé¤ãã¾ããã
ãã ã GitHub ä¸ã«ã¯ã³ããããã°ã¨ãã¦æ®ãã¦ããããã®ã§ããªãã¸ããªã¸æåã«å ¨ã¦è¿½å ããå¾ã«åé¤ãã PR ãä½ãå½¢ã§å¯¾å¿ãã¾ããã
GitHub ä¸ã§ãªãã¸ããªãæ§ç¯
Milestone ã§ Sprint æ¯ã®ã¿ã¹ã¯ã管ç
ä»åã®ããã¸ã§ã¯ãã§ã¯ 4 é±éã®ã¹ããªã³ãã§è¨ç»ããã®ã§ãæéãã¨ã« Milestone ã使ãã¦ã¿ã¹ã¯ã管çããããã«ãã¦ãã¾ããMilestone ã¯æéãå ¥åã§ããã®ã§ãProject ããé©ãã¦ããã¨èãã¾ããã
ã¿ã¹ã¯ã®çææã« Milestone ã«è¿½å ãã¦ã鲿ã®ç®¡çãåæã«è¡ãã¾ãã

æ¬æ¥ã§ããã° Project ã§ Auto Kanban ãªã©ã使ãããã£ãã®ã§ãããç¾ç¶ã® GitHub Project ã¯ä½¿ãåæãæªãæããã®ã§ Milestone 㨠Label ã使ã£ãéç¨ã«ãã¦ãã¾ãã
ãã®è¾ºãã¯æåã©ããã®ãªãã¸ããªã調ã¹ã¦ã¿ãã®ã§ãããä½¿ãæ¹ããã©ãã©ã ã£ãã®ã§èªåã®ä¸ã§ä»åã®ããã¸ã§ã¯ãè¦æ¨¡ã§ãã£ããæ¥ãæ¹æ³ãé¸ã³ã¾ããã
GitHub Actions ã§ build 㨠lint ãèªåå
GitHub Actions ã使ã£ã¦ Pull Request ã使ãããã¿ã¤ãã³ã°ã§å種ãã§ãã¯ãè¡ãã®ã¯å½ããåããããã¾ããããè¨å®ãã¡ããã¨è¡ã£ã¦ããã®ã§æ¸ãã¦ããã¾ãã
C# ã®ã³ã¼ããã©ã¼ãããã®ãã§ãã¯ã¯ dotnet-format ã使ã£ã¦è¡ã£ã¦ãã¾ãã
ã¿ã°ã使ããã¿ã¤ãã³ã°ã§ãªãªã¼ã¹ç¨ã®ã¢ããªã±ã¼ã·ã§ã³ãã«ããè¡ãããã«ãã¦ãã¾ãããã¾ã GitHub Release ã¸ã®ã¢ãããã¼ãå¨ãã¯èªåååºæ¥ã¦ããªãã®ã§ä»å¾ã®èª²é¡ã¨ãªãã¾ãã
Branch protection rule ãè¨å®
ãããã¾ã GitHub ã使ã£ã¦ãã人ã«ã¯å½ç¶ããã話é¡ã§ã¯ããã¨æãã¾ãããBranch protection rule ãè¨å®ãã¦ããã©ã«ããã©ã³ãã®ä¿è·ãè¡ã£ã¦ãã¾ãã

Reviewer å¨ãã®ãã§ãã¯ã¯å
¥ãã¦ãã¾ããããã¹ãã¼ã¿ã¹ãã§ãã¯ã¨ç®¡çè
ã対象ã«ãªãããã«è¨å®ãã¦ãã¾ãã管çè
ã対象ã«ããªãã¨ããã©ã«ããã©ã³ãã¸ã®ç´æ¥ git push ã¨ããäºæ
ãèµ·ããã¾ãã
èªåã¯æ°ãããªãã¸ããªã®å ´åã¯è¨å®ãã¡ããã¡ããå¿ãã¦ãã¾ããã¡ã§ãã
Pull Request ã® auto-merge ãæå¹å
Azure DevOps ã«ã¯ Set auto-complete ã¨ããååã§åãæ©è½ãæããããã¾ããããGitHub ã§ãæè¿ã¯ä½¿ãããã«ãã¦ãã¾ãã
PR ã使å¾ã« auto-merge ãè¨å®ããã°ãBranch protection rule ã®ãã¹å¾ã«èªåã§ãã¼ã¸ãã¦ããã¾ãã

ä»åã®ããã¸ã§ã¯ãã§ã¯ Windows ä¸ã§ GitHub Actions ã®å種 Workflow ãåããå¿ è¦ããããçµæ§ã¹ãã¼ã¿ã¹ãã§ãã¯ã«æéãããã£ã¦ãã¾ããã¨ãå¤ãã®ã§ä½¿ã£ã¦ãã¾ãã
Dependabot ã§ä¾åé¢ä¿ã®æ´æ°ãèªåå
C# ããã¸ã§ã¯ãã¯ä¸è¬çã«ã¯ Node.js ã®ããã¸ã§ã¯ãã«æ¯ã¹ãã¨ä¾åé¢ä¿ãå°ãªãã®ã§ãã¢ãããã¼ãã¯æåã§ã対å¿ã§ãããã¨ãå¤ãã§ããããã®ããã¸ã§ã¯ãã§ã¯ Dependabot ãæå¹åãã¦ãã¾ãã
# To get started with Dependabot version updates, you'll need to specify which # package ecosystems to update and where the package manifests are located. # Please see the documentation for all configuration options: # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates version: 2 updates: - package-ecosystem: "nuget" # See documentation for possible values directory: "/" # Location of package manifests schedule: interval: "daily"
åºæ¬ã¯ package-ecosystem ã« nuget ãæå®ããã ãã®ç°¡åè¨å®ã§ããGitHub ã® Dependency graph ãã¼ã¸ããç°¡åã«ä½æã§ããã®ã§ããµã¯ãã¨è©¦ãã¦ã¿ãã®ã¯è¯ãã¨æãã¾ãã
Release 使æã« Discussion ãåæã«ä½æ
å°ãåãã Release ã使ããæã«ãåæã«ãã® Release ã«å¯¾å¿ãã Discussion ãä½ããããã«ãªã£ã¦ããã®ã§ãå®éã«ãã¬ãã¥ã¼çã®ãªãªã¼ã¹æã«è©¦ãã¦ãã¾ãã

Discussion ã使ããã Release ã«ã¯ Reaction 㨠Discussion ã¸ã®ãªã³ã¯ã追å ããã¦ãã¾ãã

å®éã«ä½æããã Discussion ã使ããããã©ããã¯å¥ã®è©±ã§ã¯ããã¾ãããç¹å®ã® Release ã§åé¡ãçºçããå ´åãªã©ã« Issue ã Discussion ã«æ£ãã°ã£ã¦ãã¾ãã®ãé²ããå¯è½æ§ãããã®ããªã¨æã£ã¦ãã¾ãã
Discussion æ©è½èªä½ã¯ Issue ã Q&A ã§åã¾ãã®ãé¿ãããã¨ãåºæ¥ãã®ã§ããªãããããã§ããæè¿ã¯ Issue ã§ Q&A ã使ãããã¨å³åº§ã« Discussion ã«å¤æ´ããããã«ãªãã¾ããã
è¡ããªãã£ããã¨
Issue / PR Template ãªã©ãä½ã£ã¦ãã¾ããããæåããç¨æããã¨ç ´ç¶»ããããªã®ã§æ¢ãã¦ããã¾ãããæãæ¥ããæ¹ãã¦ç¨æããã¤ããã§ãã
Code of conduct ã Contributing ãªã©ã¯ GitHub ããç°¡åã«ä½ããããã«ãªã£ã¦ããã®ã§ãããPrivate ã®æã«ã¯ Community profile èªä½ã表示ãããªãã£ãã®ã§å¾åãã«ãã¾ããã