.NET 11 перестанет запускаться на старом железе

What's new in the .NET 11 runtime

В .NET 11 повышены минимальные требования к процессорам: для x86/x64 базовый уровень поднят с x86-64-v1 до x86-64-v2, а для Windows на Arm64 обязательным стал набор инструкций LSE. На старых CPU рантайм не запустится и выведет предупреждение. Также появился Runtime Async — предпросмотр, заменяющий компиляторные конечные автоматы на управление асинхронностью самим рантаймом: меньше кадров в стеке, проще отладка и ниже накладные расходы.

Начиная с .NET 11, .NET не запускается на старом оборудовании и может вывести сообщение: «Текущему CPU не хватает одного или нескольких базовых наборов инструкций».
  1. CharlieDigital

    По моему опыту, C# и .NET оба «недооценены» во многом из-за наследия.

    Некоторые до сих пор думают, что .NET работает только на Windows. Некоторые не смотрели на C# со времён .NET Framework. Некоторые до сих пор злятся из-за некоторых решений Microsoft вокруг OSS (отладчик, фиаско с hot reload и т.д.).

    Но если говорить о повседневной работе с C# и .NET для бэкендов? Это действительно фантастика. ИИ, похоже, очень его любит, и множество инструментов для агентов позволяют развернуться на полную. Roslyn-анализатор, генераторы исходного кода, работающий hot reload (для компилируемого языка), куча действительно хорошей документации от Microsoft, в целом низкая вариативность и высокая согласованность от кодовой базы к кодовой базе (например, в отличие от встречи с Drizzle vs Prisma vs TypeORM vs Kysely vs ... в мире Node).

    Моя предыдущая команда перешла с TS на C# и F#[0][1], и это было благословением; многие платформенные операции упростились. Это просто одна очень солидная цепочка инструментов, и пакеты в целом стабильны (гораздо меньше усилий на поддержание конфигурации платформы/инструментов и больше фокуса просто на создании). Первосторонние пакеты получают регулярные обновления безопасности, и C# не имеет почти такого же уровня подверженности транзитивным пакетам, как в экосистеме JS/TS.

    C# кажется действительно надёжным выбором в эпоху ИИ-кодинга благодаря общей стабильности, сильному статическому анализатору, требованию типов и действительно хорошим инструментам. Подходит не для всех случаев (например, CLI, serverless-функции), но фантастика для бэкенд-API.

    Если вы ищете […]

  2. giancarlostoro

    C# был моим вторым языком программирования после VB6. Помню, в начале 2000-х, когда мне было 12, я использовал компьютер лучшего друга, чтобы попытаться скачать VB .NET (у него был быстрее интернет) просто потому, что он был бесплатным, а потом был крайне разочарован, когда не смог просто запустить свои проекты на VB6, которые хотел запустить... Несколько лет спустя, примерно в 2007–2009, я попробовал C#, и это изменило жизнь.

    В итоге я пошёл в колледж после работы в рознице в Disney, а после колледжа моя первая работа должна была быть на C#, но проект не утвердили, так что я впервые познакомился с Python — который мне понравился, затем с JavaScript — который я ненавидел, но до сих пор испытываю к нему любовь-ненависть, и наконец с C#, но это был не .NET 3.5, нет, они начали использовать .NET Core, который был... чем-то другим, много выдирания зубов в ранние дни .NET Core.

    Столько замечательных проектов сделано на .NET, моя единственная жалоба — я хотел бы, чтобы Microsoft сделала кросс-платформенный GUI-стек, которого бы они действительно придерживались, и заставила его работать на Linux тоже. ;)

    Я знаю, что есть альтернативы, но ничто не сравнится с тем, чтобы сказать коллегам «давайте просто использовать встроенное» при выборе GUI-стека.

  3. wofo

    Классная штука, как обычно в релизах .NET! Поддержка async в рантайме для меня неожиданна... Понимаю, что стек-трейсы дружелюбнее без конечных автоматов в коде, но я не ожидал, что они смогут переключиться на версию рантайма с эквивалентной производительностью. Круто!

  4. 1a527dd5

    https://learn.microsoft.com/en-us/dotnet/core/compatibility/...

    Имейте в виду

    (decimal)0.1

    // .NET 10: 0.1

    // .NET 11: 0.1000000000000000055511151231

  5. mgdev

    Мне кажется, они многое сделали, чтобы решить множество запутанных проблем с версионированием и совместимостью рантайма, которые отпугнули не-Windows разработчиков от использования .NET.

    Однако они всё ещё страдают от невероятной проблемы с брендингом.

    Это действительно очень жаль, потому что как рантайм он довольно невероятен, а F# в особенности приятен в работе. У них также хорошая кросс-платформенная поддержка и инструменты, которых не было несколько лет назад.

    Сложите это с тем фактом, что никто всё равно не пишет код благодаря ИИ, и это мог бы быть безупречный рантайм для AI-native среды разработки.

    Но этого никогда не случится.

  6. GaProgMan

    > .NET 11 — это релиз Standard Term Support (STS) с двумя годами поддержки в рамках политики поддержки .NET. Релизы STS и Long Term Support (LTS) имеют одинаковые политики качества и обслуживания; разница — в длительности поддержки. .NET 10 остаётся поддерживаемым вариантом LTS. Оставайтесь на связи с обновлениями обслуживания, какой бы релиз вы ни выбрали.

    Они похоронили главное в этом.

    - .NET 10 прекращает поддержку 14 ноября 2028 г.

    - .NET 11 прекращает поддержку 9 ноября 2028 г.

    Что означает, что у всех, кто обновится до 11, будет меньше дней поддержки. Но идея в том, что вы обновитесь до 12, как только он выйдет в RTM.

    Проблема в том, что у меня есть клиенты, которые отказываются сдвинуться с 2.1 (или даже обновиться до переиздания 2.1: 2.3).

  7. jotato

    Какую IDE сейчас используют люди для C#? В былые времена (около 2008) Visual Studio была единственным реальным вариантом.

    Но я сейчас на Linux. Если бы я захотел вернуться к этому, что мне следует использовать?

  8. SurajMishra

    Для функций, которые пересекаются между golang и .Net, может кто-нибудь, пожалуйста, сказать мне, почему люди выбирают .Net вместо golang для не-legacy систем? Насколько позволяют мои ограниченные знания, go гораздо эффективнее по синтаксису и памяти.

Ещё за этот день

2026-11-10