Проблема в следующем. Я работаю над проектом бакалавра в MAUI, и мне нужно провести несколько модульных тестов. Я поискал в Интернете и нашел несколько руководств, показывающих модификацию файла .csproj. Для справки я предоставлю это видео со стендапа сообщества MAUI, потому что оно было самым последним, что я смог найти по этой теме.
После изменения файла .csproj я получаю сообщение об отсутствии папки «Платформы» в проекте. Кроме того, ошибки исходят от net8.0, даже когда я переключаюсь на net8.0-windows10.0.19041.0 из раскрывающегося списка.
В настоящее время у меня есть код, специфичный для Windows, и я не уверен, связано ли это с ним. В новом проекте мне удалось успешно внести изменения и запустить тесты.
Заранее спасибо.
Обновление 1: Поскольку я заметил, что пользователь все еще спрашивает, что было настроено в .csproj, следующая строка:
<TargetFrameworks>net8.0</TargetFrameworks>
...
<OutputType Condition = "'$(TargetFramework)' != 'net8.0'">Exe</OutputType>
Обратите внимание, что я не добавляю Android, iOS и Mac. В настоящее время у меня просто нет возможности писать код, специфичный для этих платформ.
Обновление 2:
Используя директиву препроцессора #if !NET8_0
, мне удалось удалить ошибки и даже запустить пустой тест.
Но теперь проект аварийно завершает работу при запуске, потому что не может найти службы для Windows, даже если в директиве прямо указано, что это не должен быть просто проект net8.0.
@Джулиан, извини за поздний ответ. В .csproj я добавил следующие строки: - <TargetFrameworks>net8.0</TargetFrameworks> - <OutputType Condition = "'$(TargetFramework)' != 'net8.0'">Exe</OutputType>
@Джулиан, я обновил основную ветку, потому что комментариев слишком тесно.
Проблема была в коде, специфичном для платформы. В моем примере у меня были некоторые функции NFC для Windows. Обертывание всех сегментов в #if WINDOWS
решило проблему.
Покажите, пожалуйста, что именно вы сделали.