Ответ 1
Альтернативное решение - отключить привязку в проекте iOS (а не в проекте PCL). Это сработало для меня.
- Перейдите в настройки проекта iOS
- iOS Build
- Поведение компоновщика: не связывайтесь.
Недавно я обновился до новой Xamarin для Visual Studio, и с тех пор я больше не могу ударять точки останова во время отладки IOS. Android работает нормально, странно.
Я удалил и переустановил Visual Studio Community Edition 2017 и оставил все неиспользуемые по умолчанию. Раньше это устраняло нечетные проблемы, подобные этой.
Я читал десятки подобных жалоб, но эти решения не сработали для меня.
Альтернативное решение - отключить привязку в проекте iOS (а не в проекте PCL). Это сработало для меня.
- Перейдите в настройки проекта iOS
- iOS Build
- Поведение компоновщика: не связывайтесь.
Перейдите в Visual Studio для Mac, Solution explorer и выберите проект, Project- > Option- > Compiler- > Debug information, выберите "Full" в раскрывающемся меню.
Вам нужно установить этот "Полный" для КАЖДОГО из тех проектов в решении, которое вы хотите отлаживать, иначе точка останова не будет входить.
В Xamarin.iOS
есть ошибка, которая будет зафиксирована в Xamarin.iOS 10.12.0.12 (494fcbc)
, которая должна быть доступна в бета-канале. Проблема, похоже, встречается только в PCL, что может быть, если вы установите контрольную точку в своем переносном проекте (код Xamarin.Forms).
Существует временный обходной путь, который работал у меня:
Возможное временное обходное решение: переключить переносимую библиотеку классов проект для вывода "портативных" файлов PDB, а не "полных" PDB файлов
Откройте файл переносимой библиотеки классов .csproj в текстовом редакторе. Например, щелкните правой кнопкой мыши проект в Обозревателе решений и выберите Разгрузите проект, а затем щелкните его правой кнопкой мыши и выберите "Изменить...".
В разделе PropertyGroup для конфигурации "Отладка | AnyCPU" измените DebugType на: portable
Сохраните изменения и перезагрузите проект.
Создайте, разверните и снова запустите отладку проекта приложения iOS.
Существует проблема на Android, если вы выполните вышеуказанные шаги. Чтобы снова ударить точки останова на Android, вы должны сделать this:
Короче говоря, если вы вручную удалите папки "bin" и "obj" для каждого из проектов, которые вы переключили на
portable
, удалите приложение из тестового устройства, а затем очистите и перестройте решение, которое, мы надеемся, позволит режимуportable
работать с Android тоже. Как только вы выполнили эти шаги по очистке один раз, вы теоретически не нужно выполнять их снова, если вы не переключите DebugType снова.
Edit
На Android у меня все еще есть проблемы , поэтому это не идеальный способ.