Start Debugging

Тег: dotnet

391 статей · Страница3из40

Исправление: HttpIOException: The response ended prematurely от HttpClient в .NET
HttpClient повторно использует keep-alive соединение, которое сервер только что закрыл, или сервер обрывает соединение посреди ответа. Сделайте PooledConnectionIdleTimeout меньше таймаута простоя сервера и повторяйте только идемпотентные запросы.
2026-09-24 nugetdotnetsecurity
Microsoft меняет сертификат авторской подписи NuGet: исправьте trustedSigners до появления NU3034
С 23 сентября 2026 года пакеты Microsoft в NuGet получают авторскую подпись новым сертификатом (SHA-256 9A1B131B...). Если ваш nuget.config закрепляет Microsoft в trustedSigners, восстановление пакетов завершится ошибкой NU3034. Разбираем исправление, включая правильную команду dotnet nuget trust.
StackExchange.Redis 3.3 уходит с узла Redis до того, как сервер разорвёт соединение
StackExchange.Redis 3.3.0 добавляет включаемые по желанию уведомления об обслуживании (smart client handoffs) для Redis Enterprise, Redis Cloud и Azure Managed Redis: смягчённые таймауты во время миграций, повторное чтение топологии и заблаговременный переход до исчезновения конечной точки. Разбираем, как это включить и с какой ошибкой SER010 вы столкнётесь первой.
OpenTelemetry .NET 1.19.1 исправляет NotSupportedException для шаблонов с подстановочными знаками на net8.0
OpenTelemetry 1.19.0 перевёл регулярное выражение для шаблонов источников на RegexOptions.NonBacktracking, и на net8.0 оно выбрасывает исключение, как только зарегистрировано достаточно источников. Версия 1.19.1, вышедшая 2026-09-21, возвращает скомпилированное регулярное выражение с тайм-аутом сопоставления.
2026-09-21 aspirekafkadotnet
Aspire 13.5.4 больше не теряет Kafka producer при каждой проверке health check
До Aspire 13.5.4 каждый health check AppHost для ресурса AddKafka создавал новый producer Confluent, который никто не освобождал, поэтому потоки опроса накапливались, а AppHost нагружал CPU. Исправление и ловушка HealthCheckRegistration.Factory, стоящая за ним, касаются и ваших собственных health checks.
MessagePack 3.1.9 и 2.5.303 исправляют payload на 32 КиБ, который выделяет 120 МиБ
CVE-2026-92707: заголовки вложенных массивов MessagePack могли переиспользовать одни и те же оставшиеся байты, чтобы пройти проверку длины, поэтому десериализация в object выделяла в тысячи раз больше памяти, чем размер payload. Разбираем исправление, пробу до/после и почему приложениям SignalR на .NET 8-11 RC 1 нужен прямой пин пакета.
Polly 8.8 перезагружает resilience-конвейер из вашего собственного IOptionsMonitor
В Polly 8.8.0 появился EnableReloadsWithMonitor, и resilience-конвейер теперь может перезагружаться на лету из feature flag или монитора удалённой конфигурации, не зарегистрированного в DI. Тестовый прогон показывает пересборку, а заодно одну ловушку: context.GetOptions по-прежнему читает монитор из DI и возвращает значения по умолчанию.
Microsoft.Data.SqlClient vs System.Data.SqlClient в .NET 11
Используйте Microsoft.Data.SqlClient. System.Data.SqlClient объявлен устаревшим, уже выдаёт CS0618 на каждый тип, к которому вы прикасаетесь, и теряет свои .NET-ассеты, когда .NET 8 достигнет конца поддержки 2026-11-10, в тот же день, когда выходит .NET 11. Измеренный разрыв в возможностях, значение Encrypt по умолчанию, ломающее миграцию, и разделение пакета в 7.0.
2026-09-17 mstesttestingcsharp
MSTest 4.4.1 исправляет неоднозначные вызовы Assert с CS0121, которые 4.4.0 сломал ниже C# 14
MSTest 4.4.0 добавил перегрузки Span<T> и ReadOnlySpan<T> в Assert.Contains и Assert.DoesNotContain, из-за чего обычные проверки массивов и строк стали падать с CS0121 на net8.0, net9.0 и в любом проекте ниже C# 14. MSTest 4.4.1, опубликованный 2026-09-16, добавляет точные перегрузки для массивов и ограниченные перенаправляющие перегрузки. Две формы вызова с явным обобщённым аргументом по-прежнему не компилируются.
Назад Вперёд