Как использовать функцию HotReload в проекте UWP Xamarin.Forms

Я добавил UWP проект для моего Xamarin.Forms решение. В верхней части страницы есть ссылка " Горячая перезагрузка доступна"

но ничего не происходит, когда я меняю XAML код!. насколько я проверял, для этой функции я не должен добавлять никаких дополнительных библиотек расширений. как я могу включить эту функцию?

2 ответа

Я добавляю этот ответ в надежде, что он сэкономит время кому-то еще, задаваясь вопросом, почему он у них не работает.

Краткий ответ на первоначально заданный вопрос: прямо сейчас

Горячая перезагрузка НЕ ​​доступна для проектов Xamarin Forms UWP.

несмотря на вводящее в заблуждение сообщение "Доступна горячая перезагрузка" в верхней части окна эмулятора.

Он ДЕЙСТВИТЕЛЬНО работает для проектов Xamarin Forms для iOS и Android, а также для проектов UWP, отличных от Xamarin.

Это задокументировано несколькими абзацами ниже:

http://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/hot-reload

Я предлагаю вам проголосовать за это предложение, если вы хотите, чтобы ему уделялось больше внимания:

https://developercommunity.visualstudio.com/content/idea/661682/xaml-hot-reload-for-xamarinforms-on-uwp.html

Во-первых, Hot Reload все еще находится в предварительном просмотре по состоянию на 15 августа 19'года и проходит тестирование сообществом и содержит множество известных ошибок и проблем.

Ниже приведены минимальные требования, чтобы вы могли использовать горячую перезагрузку

Visual Studio 2019 16,3 или выше

Visual Studio 2019 для Mac 8.3 или выше

Xamarin.Forms 4.1 или выше

Теперь вы можете включить горячую перезагрузку:

В Windows горячую перезагрузку XAML можно включить, установив флажок Включить горячую перезагрузку Xamarin в Сервис> Параметры> Xamarin> Горячая перезагрузка.

На Mac горячую перезагрузку XAML можно включить, установив флажок Включить горячую перезагрузку Xamarin в Visual Studio> Параметры> Проекты> Горячая перезагрузка Xamarin.

Ограничения (Известно)

Вы не можете добавлять, удалять или переименовывать файлы или пакеты NuGet во время сеанса горячей перезагрузки XAML.

Если вы добавляете или удаляете файл или пакет NuGet, перестройте и заново разверните свое приложение, чтобы продолжить использовать XAML Hot Reload.

Установите компоновщик на Link None для лучшего опыта. Параметр Link SDK only работает в большинстве случаев, но в некоторых случаях может не работать.

Для отладки на физическом iPhone требуется, чтобы интерпретатор использовал XAML Hot Reload. Добавьте --interpreter в поле Дополнительные аргументы mtouch в настройках сборки iOS, чтобы использовать XAML Hot Reload.

Любые ссылки, созданные путем присвоения элемента управления другому полю или свойству с использованием значения x: Name, не будут перезагружены.

Обновление визуальной иерархии вашего приложения Shell в AppShell.xaml может вызвать проблемы с поддержанием состояния вашего приложения. Перестройте приложение, чтобы продолжить перезагрузку. Горячая перезагрузка XAML не может перезагрузить код C#, включая обработчики событий, настраиваемые элементы управления, код позади страницы и дополнительные классы.

Для будущих ссылок вы можете проверить официальный документ Hot Reload

Никакой дополнительной установки или настройки не требуется для использования XAML Hot Reload. Он встроен в Visual Studio и может быть включен в настройках IDE. После включения вы можете начать использовать горячую перезагрузку XAML путем отладки приложения на эмуляторе, симуляторе или физическом устройстве.

В Windows горячую перезагрузку XAML можно включить, установив флажок Включить горячую перезагрузку Xamarin в Сервис> Параметры> Xamarin > Горячая перезагрузка.

Для получения дополнительной информации, пожалуйста, посетите документацию.

С уважением.

Hotreload для проекта UWP будет доступен в Visual Studio 2019 16.8 и впервые реализован в 16.8 Preview 2:

Xamarin.Forms "только меняет" XAML Hot Reload теперь поддерживает UWP - в этом выпуске мы начинаем развертывать поддержку очень востребованной функции, которая включает поддержку новых изменений только XAML Hot Reload в проектах Xamarin.Forms при нацеливании на UWP. Обратите внимание, что эта функция все еще находится в разработке, и при редактировании XAML теперь будут запускаться обновления в работающем приложении, другие функции, такие как панель инструментов в приложении (выбор элементов и т. Д.), Еще не полностью реализованы и могут иметь непредсказуемое поведение.

XAML Hot Reload работает только при отладке на iOS или Android.

Проверьте документацию: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/hot-reload

Другие вопросы по тегам