Start Debugging

Тег: dotnet

422 статей · Страница2из43

В Refit 16.4 появился HttpRetryHandler, и он читает заголовки ограничения частоты запросов GitHub, Azure и AWS
Refit 16.4.0 добавляет включаемый по желанию HttpRetryHandler, который повторяет идемпотентные запросы, учитывает Retry-After и специфичные для провайдеров заголовки вроде x-ratelimit-reset и x-ms-retry-after-ms и не требует ни Polly, ни пакета resilience.
.NET Extensions 10.11: буферизованные логи наконец сохраняют свои scope
Microsoft.Extensions.Telemetry 10.11.0, вышедший 2026-10-15, добавляет в глобальную буферизацию логов и буферизацию на уровне запроса экспериментальную опцию IncludeScopes, чтобы OrderId и TenantId из BeginScope переживали Flush(), а не терялись молча.
2026-10-15 dotnettoolingsdk
dotnetup в публичной предварительной версии: одна команда устанавливает SDK, закреплённый в global.json
15 октября 2026 года dotnetup вышел в публичную предварительную версию. Запустите dotnetup sdk install в репозитории, и он прочитает global.json, сопоставит rollForward с каналом обновлений и даже сможет записывать в файл новые патч-версии.
FileSystemWatcher или опрос для обнаружения изменений файлов на сетевой папке в .NET
На SMB- или NFS-ресурсе источником истины служит опрос, а FileSystemWatcher в лучшем случае подсказка. FileSystemWatcher пропускает удалённые изменения на Linux и macOS, переполняет 64-килобайтный сетевой буфер и навсегда останавливается при обрыве соединения. Используйте периодическое сравнение снимков, а наблюдателю оставьте только роль триггера для досрочного сканирования. Проверено на .NET 10.0.10.
Thread.Sleep, Task.Delay и SpinWait для ожидания в C#
Используйте await Task.Delay для любого ожидания по времени в асинхронном коде, Thread.Sleep только на выделенном потоке, которым вы владеете, а SpinWait только для ожиданий короче микросекунды внутри lock-free кода. Чтобы дождаться условия, применяйте сигнал (ManualResetEventSlim, SemaphoreSlim, TaskCompletionSource) вместо любого из этих трёх. Измерено на .NET 10.0.10.
2026-10-13 mcpazuredotnet
Azure MCP Server 3.0 отклоняет неизвестные параметры и создает ресурсы безопасными по умолчанию
Azure MCP Server 3.0.0 вышел 12 октября 2026 года. Вызовы инструментов с неизвестными параметрами теперь завершаются ошибкой, опции вроде subscription и tenant удалены из многих инструментов, новые учетные записи Storage отключают аутентификацию Shared Key, а сервер работает по stateless-протоколу MCP 2026-07-28.
Исправление: FileInfo.Length возвращает устаревший размер файла, в который ещё идёт запись, в Windows
FileInfo кеширует размер, перечисление читает лениво обновляемую запись каталога NTFS, а процесс записи может всё ещё держать байты в своих буферах. Используйте Refresh() или, лучше, читайте длину через общий дескриптор с помощью RandomAccess.GetLength.
Fix: Settings file 'DotnetToolSettings.xml' was not found in the package
Пакет инструмента нацелен на более новую версию .NET, чем SDK, выполняющий установку, или вообще не является инструментом .NET. Используйте более новый SDK, зафиксируйте версию инструмента с подходящей папкой tools или принудительно задайте --framework.
FluentValidation 12.2 исправляет падение IsInEnum() в приложениях native AOT на перечислениях [Flags]
FluentValidation 12.2.0, вышедший 10 октября 2026 года, заменяет Enum.GetValues на Enum.GetValuesAsUnderlyingType внутри EnumValidator, поэтому IsInEnum() на перечислении [Flags] больше не выбрасывает NotSupportedException в бинарнике native AOT.
Назад Вперёд