Рэліз адкрытай платформы платформы. NET 6

Кампанія Microsoft прадставіла новы значны выпуск адкрытай платформы. NET 6, створанай дзякуючы уніфікацыі прадуктаў. NET Framework,. NET Core і Mono. На аснове. Зборкі. NET SDK 6,. NET Runtime 6 і ASP.NET Core Runtime 6 сфарміраваны для Linux, macOS і Windows. .NET Desktop Runtime 6 пастаўляецца толькі для Windows. Звязаныя з праектам напрацоўкі распаўсюджваюцца пад ліцэнзіяй MIT.

У склад. . Асобна апублікаваны стэк для распрацоўкі web-прыкладанняў ASP.NET Core 6 і ORM-праслойка Entity Framework Core 6.0 (драйверы, маюцца ў тым ліку для SQLite і PostgreSQL), а таксама выпускі моў C# 6.0 і F# 10. Падтрымка .NET 6 і C# 6.0 уключана ў вольны рэдактар ​​кода Visual Studio Code.

Асаблівасці новага выпуску:

  • Значна падвышана прадукцыйнасць, у тым ліку праведзена аптымізацыя файлавага ўводу/высновы.
  • У мове C# 10 рэалізавана падтрымка структур у форме запісаў (record struct), дырэктывы "global using", прывязаных да файлаў прастор імёнаў і новых магчымасцяў для лямбда-выразаў. У кампілятар дададзена падтрымка інкрыментальнай генерацыі зыходнага кода.
  • У мове F# 6 з'явілася падтрымка механізму асінхроннага выканання задач async і канвеернай адладкі.
  • Даступная функцыя Hot Reload, якая дае сродкі для рэдагавання кода на лета падчас выканання праграмы, дазваляючы ўносіць змены без ручнога прыпынку выканання і без прымацавання кропак супыну. Распрацоўнік можа запусціць прыкладанне пад кіраваннем «dotnet watch», пасля чаго якія ўносяцца ў код змены аўтаматычна ўжываюцца да запушчанага дадатку, што дазваляе адразу назіраць вынік.
  • Дададзена ўтыліта "dotnet monitor" для доступу да дыягнастычнай інфармацыі працэсу dotnet.
  • Прапанавана новая сістэма дынамічнай аптымізацыі на аснове вынікаў прафілявання кода (PGO - Profile-guided optimization), якая дазваляе генераваць больш аптымальны код на аснове аналізу асаблівасцяў выканання. Выкарыстанне PGO дазволіла павысіць прадукцыйнасць набору TechEmpower JSON "MVC" на 26%.
  • У ASP.NET Core, HttpClient і gRPC дададзена падтрымка пратаколу HTTP/3.
  • Пашыраны API, звязаны з фарматам JSON. Дададзены новы генератар кода System.Text.Json і сістэма серыялізацыі дадзеных у фармаце JSON.
  • У Blazor, платформу для стварэння web-прыкладанняў на мове C#, дададзена падтрымка адмалёўкі Razor-кампанентаў з JavaScript і інтэграцыі з існуючымі JavaScript-прыкладаннямі.
  • Дададзена падтрымка кампіляцыі. NET-кода ў прадстаўленне на WebAssembly.
  • У API File IO дададзена падтрымка сімвалічных спасылак. Цалкам перапісаны FileStream.
  • Дададзена падтрымка бібліятэкі OpenSSL 3 і крыптаграфічных алгарытмаў ChaCha20/Poly1305.
  • У Runtime рэалізаваны механізмы абароны W^X (Write XOR Execute, забарона адначасовага доступу на запіс і выкананне) і CET (Control-flow Enforcement Technology, абарона ад выканання эксплоітаў, пабудаваных з выкарыстаннем прыёмаў зваротна-арыентаванага праграмавання).
  • Дададзена эксперыментальная падтрымка iOS і Android у якасці TFM-платформаў (Target Framework Moniker).
  • Значна ўбрана падтрымка сістэм Arm64. Дададзена падтрымка прылад Apple на базе ARM-чыпа M1 (Apple Silicon).
  • Забяспечаны працэс зборкі. NET SDK з зыходных тэкстаў, што спрашчае працу па фармаванні пакетаў c. NET для дыстрыбутываў Linux.

Дадаць каментар