Start Debugging

Тег: dotnet-10

97 статей · Страница2из10

2026-10-07 errorsdotnettesting
Исправление: dotnet test переключается на VSTest в Linux CI, хотя проект использует Microsoft.Testing.Platform
dotnet test выбирает раннер по global.json, который ищется вверх от рабочего каталога. В Linux CI он переключается на VSTest, если файла нет, он назван неверно, ключ написан в неправильном регистре или SDK старше 10.
Как добавить полный открытый ключ сборки со строгим именем в InternalsVisibleTo в проекте SDK-стиля
Подписанная сборка должна указывать дружественную сборку по полному открытому ключу из 320 символов, а не по токену, иначе сборка падает с CS1726 или CS0281. Получите ключ с помощью sn -p и sn -tp или кроссплатформенного скрипта на .NET, затем поместите его в метаданные Key элемента InternalsVisibleTo в .csproj. Также разобраны запасной вариант со свойством PublicKey, ключ DynamicProxyGenAssembly2 для Moq и ловушка с переносами строк.
Как отслеживать блокировку, разблокировку, вход и выход из сеанса Windows в приложении на C#
Используйте SystemEvents.SessionSwitch в настольном или консольном приложении, переопределите OnSessionChange в службе Windows или перехватывайте WM_WTSSESSION_CHANGE самостоятельно. Код на .NET 10 для всех трёх вариантов, скрытый поток '.NET System Events', почему служба видит вход в систему, а настольное приложение нет, уведомления не по порядку и как узнать текущее состояние блокировки через WTSQuerySessionInformation.
Как задать параметры сеанса PostgreSQL, такие как search_path или statement_timeout, для каждого подключения EF Core с Npgsql
Однократно выполненный SET стирается командой DISCARD ALL в тот момент, когда Npgsql возвращает подключение в пул. Передайте search_path и statement_timeout в стартовом пакете через ключевые слова строки подключения Search Path и Options, а при необходимости используйте ALTER ROLE или перехватчик ConnectionOpened, и узнайте, почему UsePhysicalConnectionInitializer молча теряет свой SET.
2026-10-01 errorsdotnettesting
Исправление: dotnet test завершается с кодом 5 и "Zero tests ran" на Microsoft.Testing.Platform
Код выхода 5 означает, что MTP отклонил параметр командной строки, а не то, что тесты отсутствуют. Запустите исполняемый файл тестов напрямую, чтобы увидеть настоящую ошибку, затем добавьте пакет расширения или направьте параметр только в нужные проекты.
Исправление: переменные окружения из launchSettings.json игнорируются в профиле с commandName: Executable
Если ваш профиль Executable запускает dotnet run или dotnet watch, вложенная команда применяет профиль по умолчанию и перезаписывает ваши переменные. Добавьте --no-launch-profile и используйте SDK 10.0.200+.
Исправление: значки строки состояния Android нечитаемы после включения UseMaterial3 в .NET MAUI 10
MAUI 10.0.100 выбирает цвет значков строки состояния по colorPrimary, а его яркость противоположна яркости поверхности Material 3, поэтому получается белое на белом или чёрное на чёрном. Обновите Microsoft.Maui.Controls до 10.0.101 или новее либо сбросьте AppearanceLightStatusBars в MainActivity.
Исправление: WebSocket горячей перезагрузки Blazor в dotnet watch не работает на собственном локальном домене (403)
Начиная с сентябрьских SDK .NET 2026 года (10.0.112, 10.0.401, 11 RC1) dotnet watch отклоняет WebSocket-подключения browser-refresh с неизвестных источников. Задайте DOTNET_WATCH_AUTO_RELOAD_WS_ORIGINS равным имени вашего хоста.
Исправление: .NET MAUI Entry с Keyboard.Numeric показывает маленькую цифровую панель, а затем полную клавиатуру на iPadOS 26
В iPadOS 26 MAUI сопоставляет Keyboard.Numeric с UIKeyboardType.DecimalPad, который теперь открывается как плавающая мини-панель с цифрами. Добавьте маппер, переключающий iPad на NumbersAndPunctuation, и проверяйте ввод самостоятельно.
Назад Вперёд