devdigest // dot net
3.9K subscribers
187 photos
4 videos
5 files
3.7K links
Главные новости из мира .NET

Все каналы проекта: https://t.me/devdigestplatform/163
Download Telegram
⚡️ Microsoft добавила в GitHub Copilot агента для автоматической модернизации .NET-приложений

Microsoft представила Upgrade Agent — встроенного в GitHub Copilot агента, который автоматизирует перевод .NET-приложений на новые версии платформы. Инструмент работает не как разовый промпт, а как многоэтапный сценарий: оценивает проект и его зависимости, строит приоритизированный план обновления, выполняет трансформации кода и в реальном времени отслеживает сборку и ошибки. Прогресс и правки отображаются в интерактивном «холсте» обновления. Агент доступен в Visual Studio, Visual Studio Code и GitHub Copilot CLI и подключается через плагин из маркетплейса microsoft/upgrade-agent-plugins.

👉🏻 Канал | 💬 Чат | 📕 Каталог
❤3👍2
⚡️ F# Weekly #28, 2026

Вышел свежий выпуск дайджеста F# Weekly. Ключевые релизы недели — игровой фреймворк Mibo 2.0 для разработки инди-игр на F# с поддержкой Raylib, MonoGame и headless-серверов, а также компилятор Fable 5.7 с ускорением сопоставления с образцом для discriminated unions в 6–10 раз и в 1,6 раза более быстрыми последовательностями при компиляции в Python. В номере также — материал Матиаса Брандевиндера о рендеринге отбрасываемых теней в графических приложениях на F#, продолжение серии Урса Энцлера об event sourcing, языковой сервер SharpLsp для F# и C#, а также свежие релизы TypeScript 7.0 и Visual Studio Code 1.128.

👉🏻 Канал | 💬 Чат | 📕 Каталог
❤4👍2
⚡️ .NET 11 Preview 5: новые Process API избавляют от дедлоков при чтении вывода процессов

Andrew Lock в очередной части серии о превью .NET 11 разобрал улучшения Process API в Preview 5. Прежний подход с `StandardOutput.ReadToEnd()` и `StandardError.ReadToEnd()` мог приводить к взаимной блокировке при чтении вывода дочернего процесса. .NET 11 добавляет безопасные методы, читающие stdout и stderr одновременно: `ReadAllText()` / `ReadAllTextAsync()`, построчный `ReadAllLines()` с поддержкой `await foreach` для обработки в реальном времени, `ReadAllBytes()` для сырых данных, а также «однострочные» `RunAndCaptureText()`, объединяющие запуск, захват вывода и ожидание завершения. Нововведения убирают типичные ловушки, сокращают шаблонный код и делают API нагляднее за счёт современных конструкций C#.

👉🏻 Канал | 💬 Чат | 📕 Каталог
1👍5❤1
⚡️ F# Weekly #29, 2026

Главные события недели — превью .NET 11 Preview 6 с обновлениями языка F# и релиз игрового фреймворка Mibo 3.0 с поддержкой MonoGame 3.8.5, а также графических API Vulkan и DirectX 12.

Также в дайджесте — свежие релизы библиотек экосистемы: Fable 5.11, Thoth.Json 13.0, Argu 6.2.5, SQLProvider 1.5.26, а также специализированные пакеты BioFSharp 3.1 и FsSpreadsheet.ExcelIO 7.0.

Среди заметных open-source-проектов — генератор кода Myriad, система контроля версий Grace на F#, генератор статических сайтов Zest и терминальный редактор Fedit. Также в выпуске — видеоуроки, посты об event sourcing и рефлексии и материалы Microsoft по модернизации .NET.

👉🏻 Канал | 💬 Чат | 📕 Каталог
❤3👍1
⚡️ Фоновые задачи в ASP.NET Core с NCronJob и SignalR

Дамьен Боуден показал, как реализовать планировщик фоновых задач в ASP.NET Core с помощью open-source-пакета NCronJob в связке с SignalR для передачи статуса выполнения клиентам в реальном времени. Задания реализуют интерфейс IJob с методом RunAsync, который запускается по расписанию и поддерживает внедрение зависимостей — доступ к логированию и хабам SignalR.

В примере два типа заданий раз в пять секунд рассылают сообщения о начале и завершении работы, демонстрируя параллельное и последовательное выполнение, а фронтенд через JavaScript-клиент SignalR показывает эти сообщения в реальном времени.

По словам автора, подход закрывает большинство типовых сценариев планирования и остаётся простым и поддерживаемым.

👉🏻 Канал | 💬 Чат | 📕 Каталог
👍6❤4
⚡️ Вышел Rx.NET 7.0

Команда endjin выпустила Rx.NET 7.0 (пакет System.Reactive 7.0.0 на NuGet).

Ключевое изменение — избавление от давней проблемы «раздувания» сборок: раньше добавление ссылки на Rx.NET в self-contained приложениях с Windows-таргетами тянуло за собой WPF и Windows Forms, увеличивая размер вывода примерно на 90 МБ (47 МБ с trimming и 11 МБ для NativeAOT). Теперь функциональность UI-фреймворков вынесена в отдельные пакеты — System.Reactive.Windows.Forms, System.Reactive.Wpf, System.Reactive.WindowsRuntime и System.Reactive.Uwp.

Прекращена поддержка .NET 7.0 и более ранних версий; целевые платформы — .NET 8, 9, 10, .NET Framework 4.7.2 и UWP.

Релиз завершает разбор технического долга, открывая путь к оптимизации производительности и новым операторам.

👉🏻 Канал | 💬 Чат | 📕 Каталог
👍8❤5
⚡️ F# Weekly #30, 2026

Вышел свежий выпуск дайджеста F# Weekly. Главные герои недели — расширение FsHttp.Studio для VS Code, позволяющее выполнять HTTP-запросы FsHttp прямо из F#-скриптов с наглядным отображением ответов (картинки, JSON, HTML), и шаблон Fable Lit Fullstack Template 3.2 с кросс-платформенным десктоп-хостом, горячей заменой модулей (HMR) и сквозной типобезопасностью на базе Fable.Lit и RPC через Serde.FS.Fable. В номере — свежие релизы библиотек и инструментов: Fable 5.13 и 5.12, Mibo.Templates 3.1.1, WoofWare.Myriad.Plugins 10.3.1 и CliWrap 3.10.3. Среди заметных проектов — грамматика F# для Tree-sitter, игровой фреймворк Mibo, генератор статических сайтов Zest и терминальный редактор Fedit.

👉🏻 Канал | 💬 Чат | 📕 Каталог
❤2
⚡️ JetBrains добавила отладчик в ReSharper для VS Code

JetBrains представила отладчик в ReSharper для VS Code, закрыв последний пробел в наборе инструментов для .NET-разработки в легковесном редакторе. В статье Айзек Левин доказывает, что отладка — это «реактивный процесс», а настоящая продуктивность рождается из сочетания отладки с проактивным статическим анализом, который выявляет ошибки ещё до компиляции. ReSharper для VS Code предлагает более 2500 инспекций кода в реальном времени, быстрые исправления по горячим клавишам, семантическое переименование символов по всему решению и быструю навигацию (Ctrl+T, Shift+F12), а теперь — и нативный отладчик .NET на движке из Rider. По словам компании, это превращает ReSharper в единую интеллектуальную среду разработки, объединяющую анализ, навигацию, тестирование и отладку.

👉🏻 Канал | 💬 Чат | 📕 Каталог
👍6❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
⚡️ F# Weekly #31, 2026

Вышел свежий выпуск дайджеста F# Weekly. В центре внимания — анонсы Microsoft для .NET-разработчиков: релиз MCP C# SDK 2.0, новый агент для юнит-тестирования полиглотных проектов, интеграция анализатора бинарных логов MSBuild (binlog) в VS Code, обновления Agent Framework для обнаружения навыков MCP-серверов, а также июльское обновление Visual Studio с агентами на базе GitHub Copilot SDK.

Среди заметных проектов экосистемы — MongrelDB-FSharp (клиент встраиваемой БД с SQL и векторным поиском на чистом F#), библиотека типизированных результатов Axial, реактивный Fable.Reactive и Fable.Giraffe.

В выпуске также десять свежих релизов пакетов, включая Mibo 3.0, и материалы о дизайне Result-типа и корпоративных ИИ-паттернах.

👉🏻 Канал | 💬 Чат | 📕 Каталог
❤3👍1
⚡️ Архитектурный разбор ML.NET: машинное обучение без выхода из экосистемы .NET

Абдул Рахман разобрал архитектуру ML.NET — открытого кросс-платформенного фреймворка машинного обучения от Microsoft, который позволяет обучать, оценивать и разворачивать ML-модели на привычном C# без Python-рантайма и сторонних библиотек. Автор предлагает делить решение на три проекта: тренер (консольное приложение, которое загружает данные, обучает и сохраняет модель), библиотеку схем с общими типами данных и клиент (Web API, Blazor или Worker), который выполняет предсказания.

В основе — MLContext как точка входа (аналог DbContext из EF), «ленивое» табличное представление IDataView и пайплайны, собираемые цепочкой Append и выполняемые при вызове Fit(), как в LINQ. Тренеры сгруппированы по типам задач — классификация, регрессия, кластеризация, поиск аномалий, ранжирование, прогнозирование.

Для ASP.NET Core PredictionEnginePool обеспечивает потокобезопасные предсказания и горячую перезагрузку модели.

👉🏻 Канал | 💬 Чат | 📕 Каталог
❤5🎉2👍1
⚡️ Современная аутентификация в ASP.NET Core: 2FA и passkey

Али Хамза Ансари в блоге elmah.io подробно показал, как реализовать в ASP.NET Core на .NET 10 два современных механизма защиты: двухфакторную аутентификацию (2FA) и вход по passkey на стандартах WebAuthn/FIDO2.

Для 2FA разбираются регистрация и вход, генерация QR-кода для приложения-аутентификатора, проверка одноразовых кодов TOTP, резервные коды восстановления и блокировка аккаунта после неудачных попыток. Раздел о passkey охватывает регистрацию учётных данных (attestation) и беспарольный вход (assertion) с подтверждением по биометрии или PIN, а также хранение ключей и проверку счётчика подписей. В основе — ASP.NET Core Identity, Entity Framework Core, пакет Fido2NetLib и PostgreSQL.

Такой подход заметно снижает риски по сравнению с обычными паролями и одновременно упрощает вход для пользователя.

👉🏻 Канал | 💬 Чат | 📕 Каталог
👍7❤5
⚡️ F# Weekly #32, 2026

Вышел свежий выпуск дайджеста F# Weekly. Главные релизы недели — библиотека доступа к данным FSharp.Data 8.2.0 и игровой фреймворк Mibo 4.0 с заметно ускоренным PBR-конвейером для 3D-рендеринга, который выходит на GPU-bound производительность на бэкендах raylib и MonoGame.

В номере также свежие обновления FSharp.TypeProviders.Templates 8.11, SQLProvider 1.5.27, SwaggerProvider, linq2db.FSharp и Polars.FSharp. Среди заметных проектов — Plinth (local-first markdown-блокнот на F# и Tauri), Thuja (минималистичная библиотека для терминальных интерфейсов) и FsLangMCP (MCP-сервер, открывающий сервисы компилятора F# для ИИ-агентов).

Отдельный тренд выпуска — рост экосистемы F# MCP для ИИ-воркфлоу. Из новостей Microsoft — улучшения безопасности NuGet, платформы тестирования и Agent Framework.

👉🏻 Канал | 💬 Чат | 📕 Каталог
❤2👍2
⚡️ Шесть улучшений производительности .NET 11

Стивен Гизель разобрал шесть заметных улучшений производительности в .NET 11, приведя бенчмарки .NET 10 против .NET 11 Preview 6 .

Среди них:
– устранение упаковки (boxing) в обобщённом сравнении enum-ов — до 86% быстрее и без аллокаций;
– удаление лишних проверок диапазона и null в векторных операциях (~10%);
– кэширование правил часовых поясов, ускоряющее DateTime.Now на 48%; – оптимизация парсинга Guid на 20–25%; ускорение LINQ Min/Max для мелких типов через векторные перестановки (до 70–75% на байтах и short);
– общее сокращение размера генерируемого кода.


👉🏻 Канал | 💬 Чат | 📕 Каталог
❤12👍11
⚡️ F# Weekly #33, 2026

Вышел свежий выпуск дайджеста F# Weekly. Главное событие недели — релиз .NET 11 Preview 7 с обновлениями языка F#. В центре внимания и PaketaBot — бот для управления зависимостями в проектах на Paket: написан на F#, скомпилирован через Fable и работает прямо в GitHub Actions без хостинга, закрывая пробел там, где Dependabot не поддерживает Paket. Среди других заметных проектов — fsdb (MySQL-совместимый сервер БД с поддержкой wire-протокола и SQL-грамматики на FParsec), toro (фреймворк глубокого обучения, приносящий семантику PyTorch в F# через TorchSharp), Farse (парсинг JSON на System.Text.Json) и Falco.UnionRoutes (типобезопасная маршрутизация для веб-фреймворка Falco). В номере также свежие релизы библиотек: Ionide.Analyzers 0.16, FSharpLint.Core 0.27.1 и Fable.Logging 1.0.

👉🏻 Канал | 💬 Чат | 📕 Каталог
❤3👍2
⚡️ Как устроена память агентов в Microsoft Agent Framework

Джесс Либерти объяснил, как ИИ-агенты в .NET запоминают то, что с ними происходит. За память отвечает Agent Memory на базе графовой БД Neo4j, и работает она на трёх уровнях: краткосрочная помнит текущий разговор, долгосрочная хранит накопленные знания и связи между ними, а «память рассуждений» — прошлые действия и решения агента.

Отдельно автор выделяет битемпоральность: система хранит не только то, когда факт произошёл, но и то, когда она его записала. В статье есть и разбор кода: подключение к Neo4j, создание MemoryStore и методы StoreMemory() и RetrieveMemory(). Благодаря этому агент сохраняет контекст между сессиями.

👉🏻 Канал | 💬 Чат | 📕 Каталог
❤3👍2🎉1
⚡️ Построение распределённого планировщика задач на Akka.NET

Аарон Станнард из Petabridge описал, как построить распределённый планировщик долгих задач на Akka.NET — для случаев, когда задания идут от минут до часов, а кластер должен масштабироваться, не теряя уже выполненную работу.

Автор объясняет, почему обычный Akka.Cluster.Sharding здесь не годится: при изменении размера кластера он перебрасывает задания на новые узлы и выбрасывает уже проделанную работу. Вместо этого система строится на нескольких акторах, где главный, JobTracker, хранит расписание и переживает сбои. Ключевая идея — распределять задачи по реальной загрузке узлов: планировщик прикидывает «размер» задания и отправляет его на самый свободный узел, избегая перегрузки отдельных машин.

Такой подход не тратит вычисления впустую и хорошо подходит для транскрипции, транскодинга, ETL и финансовой отчётности.

👉🏻 Канал | 💬 Чат | 📕 Каталог
👍3❤2🎉1
⚡️ .NET 11 RC1 вышел с go-live лицензией: C# 15 стабилизирует union-типы

Microsoft выпустила .NET 11 Release Candidate 1 — с go-live лицензией, то есть его уже можно ставить в прод с официальной поддержкой. Финальный релиз — на .NET Conf 10–12 ноября.

Главное в RC1: C# 15 стабилизирует union-типы и closed-иерархии, а System.Text.Json получил closed-type polymorphism и поддержку unions. В runtime операции с Half используют FP16-инструкции, появился in-process crash reporting на Unix. В библиотеках — DNS record resolution на Linux, отправка сигналов процессам, async options validation. Native AOT для file-based programs. В ASP.NET Core финализированы API обновления аутентификации в SignalR, Blazor Server circuits подхватывают refresh аутентификации. F# получил record spreads.

👉🏻 Канал | 💬 Чат | 📕 Каталог
👍7❤1
⚡️ Агент с движком рефакторинга Rider: 157 секунд против 26 на тех же задачах

⏭ #6693 пропущен
2 / 2
📋 Пост #6695 · v2 — .NET — англ: Rider's refactoring engine as an agent skill: 157s down to 26s
📝 Переписать: без воды

⚡️ Агент с движком рефакторинга Rider: 157 секунд против 26 на тех же задачах

JetBrains прогнала фронтирную модель через пятнадцать задач на рефакторинг C# и посчитала, за что та хваталась. 468 раз — передача текста в интерактивные команды, 422 раза git, 392 раза sed, 163 раза dotnet build. Структурных операций рефакторинга ноль, потому что их просто не было среди инструментов.

Агент компилировал не чтобы проверить результат, а чтобы узнать, что натворила последняя правка. Навык refactoring-code, который идёт в комплекте с Rider 2026.2.1, отдаёт агенту восемь операций движка ReSharper: rename, extract method, extract interface, extract base class, change signature, move type, reorganize namespaces, safe delete

. Движок работает по разрешённому синтаксическому дереву, поэтому знает, куда биндится каждый идентификатор, и не путает тип Order со словом order в комментарии.

Числа на тех же задачах: медиана времени 157.9 секунды против 26.6, стоимость решённой задачи 0.52 против 0.19 доллара, вызовов инструментов 17 против 6.2, вызовов dotnet build 3 вместо 163. Самый резкий случай, extract base class: 337 секунд и 24 вызова превратились в 20 секунд и три.

👉🏻 Канал | 💬 Чат | 📕 Каталог
👍8❤6
⚡️ Rider стартовал 44 секунды из-за Defender — Microsoft починила это в самом Defender

JetBrains разобрала, почему Rider и ReSharper медленно стартуют на Windows. Виновник — Microsoft Defender: первый запуск Rider из Toolbox сканировался 44 секунды, Visual Studio и VS Code — меньше секунды.

Причина в расположении, а не в коде. Процессы из защищённых от записи путей получают более широкие правила доверия, и Defender почти не трогает их при старте. Toolbox и ReSharper out-of-process ставятся в пользовательскую папку, поэтому после переезда на OOP-архитектуру процесс ReSharper стал получать полный скан. Диагностировали по ETW-событиям Microsoft-Antimalware-Engine и CPU time, по 10 замеров на инструмент. Итог: JetBrains IDE — 10–40 секунд, CLI-инструменты — меньше 2. Microsoft выпустила Defender 1.449.454.0 с оптимизированным сканированием приложений из write-protected папок — Rider и ReSharper OOP теперь укладываются в 5 секунд. ReSharper 2026.2.1 идёт с OOP по умолчанию.

Если IDE всё ещё тормозит: обновить Defender, вынести репозитории и кэши на Dev Drive, в крайнем случае — исключения через Add-MpPreference. Я бы начал с Dev Drive.

👉🏻 Канал | 💬 Чат | 📕 Каталог
👍4🎉3❤2