Start Debugging

Тег: dotnet

423 статей · Страница7из43

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, добавляет точные перегрузки для массивов и ограниченные перенаправляющие перегрузки. Две формы вызова с явным обобщённым аргументом по-прежнему не компилируются.
Process.Run vs Process.Start в .NET 11: что выбрать?
Используйте Process.Run, когда запускаете инструмент и вас интересует только то, как он завершился: один вызов, тайм-аут, который убивает дочерний процесс, и ProcessExitStatus с сигналом. Оставьте Process.Start, когда нужен объект Process: запись в stdin, чтение вывода по мере поступления, UseShellExecute или завершение всего дерева процессов.
2026-09-16 dotnetdotnet-11jit
JIT в .NET 11 девиртуализирует обобщённые виртуальные методы, и вместе с ними исчезает выделение памяти
В статье Стивена Тоуба Performance Improvements in .NET 11 вызовы обобщённых виртуальных методов падают с 6.7 нс и 24 байт до 1.8 нс и нуля выделений. Три пул-реквеста в RyuJIT открыли инлайнинг для самой непрозрачной диспетчеризации в .NET.
Исправление: UIKitThreadAccessException в MediaPicker.PickPhotosAsync при выборе нескольких фотографий в .NET MAUI iOS
Выбор 2 и более фотографий в iOS вызывает UIKitThreadAccessException в MAUI 10.0.100 и 10.0.101. MAUI читает PHPickerResult.ItemProvider после await, вне главного потока. Зафиксируйте 10.0.90, обновитесь до 10.0.110 или вызовите PHPicker сами.
Microsoft.Extensions.AI 10.10 проваливает метрики оценки, которым судья не выставил балл
Microsoft.Extensions.AI.Evaluation.Quality 10.10.0 теперь помечает нераспознанные и выходящие за диапазон оценки качества как проваленные, а Microsoft.Extensions.AI.OpenAI 10.10.0 удаляет адаптер Assistants. Измерено до и после на 10.9.0.
2026-09-14 dapperdotnetcsharp
Dapper 2.1.86 возвращает DateOnly и TimeOnly спустя два года после их удаления
Dapper 2.1.86 снова включает встроенное сопоставление DateOnly и TimeOnly для параметров, членов и скалярных значений, с исправленными ошибками смещения столбца и тихого default(T). Что изменилось, что я измерил и что это значит для ваших собственных обработчиков типов.
Исправление: Could not load file or assembly 'Microsoft.Data.SqlClient, Version=7.0.0.0' после обновления EF Core
EF Core 11 скомпилирован против Microsoft.Data.SqlClient 7.0.0.0, но при восстановлении пакетов или развёртывании победила копия 6.x. Удалите старую фиксацию версии SqlClient и заново разверните весь вывод сборки.
Как асинхронно создавать и распаковывать ZIP-файлы с помощью асинхронных API ZipArchive в .NET 11
Используйте ZipFile.CreateFromDirectoryAsync, ExtractToDirectoryAsync, ZipArchive.CreateAsync и ZipArchiveEntry.OpenAsync без скрытого синхронного ввода-вывода. Замеры на .NET 11 RC 1 и .NET 10.0.12, включая баг .NET 10, который до сих пор блокирует Kestrel.
Назад Вперёд