У меня есть проект Xamarin Forms с приложениями iOS и Android. На днях я сделал несколько обновлений для XF и Visual Studio 2019 (выпуская последние версии бета-версий). В середине этого я также перемещал кучу своего общего кода, включая ContentViews, использованный в нескольких проектах для моего продукта, в отдельную библиотеку классов. Net Core. Как только я все заработал, я отлаживал один из моих общих видов контента в своем проекте Android. Я начал замечать, что изменения, которые я вносил в XAML ContentView, не отражались в моем XAML на устройстве Android. Просто чтобы перепроверить, я запустил iOS версию проекта, и все работало нормально.
Вот так выглядит мой обозреватель решений:
Проект Kiosk - это приложение Xamarin Forms. UCISharedAll содержит общий ContentView в папке UCIFooter.
Это XAML из нижнего колонтитула
<?xml version="1.0" encoding="UTF-8"?>
<ContentView xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:sfbtn="clr-namespace:Syncfusion.XForms.Buttons;assembly=Syncfusion.Buttons.XForms"
xmlns:localapp="clr-namespace:UCISharedAll.Resources;assembly=UCISharedAll"
mc:Ignorable="d"
x:Class="UCISharedAll.UCIFtr.UCIFooter">
<ContentView.Resources>
<ResourceDictionary>
<Style x:Key="slBackground" TargetType="StackLayout" >
<Setter Property="BackgroundColor" Value="{DynamicResource FooterBackgroundColor}" />
<Setter Property="HorizontalOptions" Value="Fill" />
<Setter Property="VerticalOptions" Value="End" />
<Setter Property="Orientation" Value="Vertical" />
<Setter Property="Margin" Value="0,0,0,0" />
</Style>
<Style x:Key="ftrLblStyle" TargetType="Label">
<Setter Property="TextColor" Value="{DynamicResource FooterTextColor}" />
<Setter Property="VerticalOptions" Value="Center" />
<Setter Property="HorizontalOptions" Value="Center" />
<Setter Property="HorizontalTextAlignment" Value="Center" />
<Setter Property="FontSize" Value="Micro" />
</Style>
<Style x:Key="ftrLinkStyle" TargetType="Label">
<Setter Property="TextColor" Value="{DynamicResource FooterTextColor}" />
<Setter Property="VerticalOptions" Value="Center" />
<Setter Property="HorizontalOptions" Value="Center" />
<Setter Property="HorizontalTextAlignment" Value="Center" />
<Setter Property="FontSize" Value="Micro" />
<Setter Property="TextDecorations" Value="Underline" />
<Setter Property="FontAttributes" Value="Bold" />
</Style>
<Style x:Key="PrivacyButtonStlye" TargetType="sfbtn:SfButton">
<Setter Property="BorderColor" Value="#4D648D"/>
<Setter Property="IsCheckable" Value="False" />
<Setter Property="FontSize" Value="Micro" />
<Setter Property="CornerRadius" Value="10"/>
<Setter Property="ImageAlignment" Value="Start" />
<Setter Property="BackgroundColor" Value="{DynamicResource PrivacyBtnBackgroundColor}" />
<Setter Property="TextColor" Value="{DynamicResource PrivacyBtnTextColor}" />
<Setter Property="HorizontalTextAlignment" Value="Center" />
<Setter Property="ShowIcon" Value="true"/>
<Setter Property="FontAttributes" Value="Bold" />
<Setter Property="HorizontalOptions" Value="Center" />
<Setter Property="VerticalOptions" Value="Start" />
<Setter Property="ImageSource" Value="lock.png" />
<Setter Property="Padding" Value="8" />
</Style>
</ResourceDictionary>
</ContentView.Resources>
<ContentView.Content>
<StackLayout x:Name="slMaster" Style="{DynamicResource slBackground}" >
<StackLayout x:Name="slUserFooterArea" Orientation="Vertical" IsVisible="{Binding ShowFooterText}"
HorizontalOptions="Fill" VerticalOptions="Start" Margin="0,4,0,4">
<Label x:Name="lblUserFooterText" Text="{Binding KioskFooterText}" Style="{DynamicResource ftrLblStyle}" />
<BoxView BackgroundColor="{DynamicResource DividerLineColor}" HeightRequest="2" HorizontalOptions="Fill" />
</StackLayout>
<!--This has to be in a stack layout so it does not go all the way across the screen-->
<StackLayout Orientation="Horizontal" HorizontalOptions="Center" VerticalOptions="Start" Margin="0,8,0,0">
<sfbtn:SfButton x:Name="btnPrivacy" Text="{localapp:Translate Privacy}" Clicked="btnPrivacyStatement_Clicked"
Style="{DynamicResource PrivacyButtonStlye}" />
</StackLayout>
<StackLayout Orientation="Horizontal" Margin="0,8,0,0" HorizontalOptions="Center">
<Label x:Name="lblAppFooterText" Style="{DynamicResource ftrLblStyle}" />
<sfbtn:SfButton x:Name="btnPSSName" Clicked="btnPSSName_Clicked" HeightRequest="32">
<Label x:Name="lblPSSName" Text="{localapp:Translate PSSName}" Style="{DynamicResource ftrLinkStyle}"/>
</sfbtn:SfButton>
</StackLayout>
</StackLayout>
</ContentView.Content>
</ContentView>
Для проверки я добавил цвет фона для lblPSSName. В проекте iOS все нормально. В проекте Android пользовательский интерфейс не обновляется. Я запускаю приложение Android на физическом устройстве (планшете Digiland).
Единственный способ заставить приложение обновиться на планшете Android - это удалить приложение и изменять конфигурацию между отладкой и выпуском (то есть, если она была отлажена на последний запуск, измените его на выпуск et c.)
Результаты моего Тестового тестирования следующие: ((Я деинсталлирую приложение между каждым тестом) На Эмуляторе в Режиме Выпуска - Изменения видны
на эмуляторе в режиме отладки - изменения не видны
на планшете Digiland в режиме отладки - изменения не видны на планшете Digiland в режиме выпуска - изменения не видны на Android эмуляторе планшета в режиме отладки - изменения не видны
вкл Android эмулятор планшета в режиме выпуска - изменения не видны
Я испробовал рекомендации во всех этих статьях, и они не имели никакого значения:
Пользовательский интерфейс не отражает изменений, которые я делаю
https://forums.xamarin.com/discussion/45327/newest-version-of-code-not-always-deployed-when-debugging-from-xamarin-studio
Xamarin.Forms Android VS2017 debug не шо Изменения wing XAML
Я также попытался изменить некоторые опции android, как показано ниже ![enter image description here](https://i.stack.imgur.com/h4x2B.png)
Я выключил Включить ускоренную визуализацию и включил Refre sh предварительный просмотр макета при изменениях кода.
Если у кого-то есть какие-то идеи относительно того, как решить эту проблему, я буду признателен за это. Чтобы было ясно, у меня случалось какое-то время go - потом все прошло. Несколько обновлений позже - похоже, он вернулся, но на этот раз только для Android. Ниже приведено все из моей страницы VS About.
Microsoft Visual Studio Professional 2019 версии 16.5.2 VisualStudio.16.Release / 16.5.2 + 29926.136 Microsoft. NET Framework версия 4.8.03752
Установленная версия: Professional
Visual C ++ 2019 00435-20050-31374-AA182 Microsoft Visual C ++ 2019
Поставщик служб ADL Tools 1.0 Этот пакет содержит службы, используемые инструментами Data Lake
ASA Service Provider 1.0
ASP. NET и веб-инструменты 2019 16.5.236.49856 ASP. NET и веб-инструменты 2019
ASP. NET Интернет Каркасы и инструменты 2019 16.5.236.49856 Для получения дополнительной информации посетите https://www.asp.net/
Azure Инструменты для обслуживания приложений v3.0.0 16.5.236.49856 Azure Инструменты для обслуживания приложений v3.0.0
Azure Узел озера данных 1.0 Этот пакет содержит узлы интеграции озера данных для обозревателя серверов.
Azure Инструменты озера данных для Visual Studio 2.4.5000.0 Microsoft Azure Инструменты озера данных для Visual Студия
* 1 073 *Azure Инструменты функций и веб-заданий 16.5.236.49856 Azure Инструменты функций и веб-заданий
Azure Инструменты потоковой аналитики для Visual Studio 2.4.5000.0 Microsoft Azure Инструменты потоковой аналитики для Visual Studio
C# Инструменты 3.5. 0-beta4-20153-05 + 20b9af913f1b8ce0a62f72bea9e75e4aa3cf6b0e C# компоненты, используемые в IDE. В зависимости от типа и настроек вашего проекта может использоваться другая версия компилятора.
Common Azure Инструменты 1.10 Предоставляет общие службы для использования Azure Mobile Services и Microsoft Azure Tools.
Расширяемая шина сообщений 1.2.0 (d16-2@8b56e20) Предоставляет общие службы MEF на основе обмена сообщениями для слабосвязанных соединений и интеграции компонентов расширения Visual Studio.
Fabri c .DiagnosticEvents 1.0 Fabri c Диагностика c События
Расширение IntelliCode 1.0 Расширение IntelliCode Visual Studio Подробная информация
Microsoft Azure HDInsight Azure Узел 2.4.5000.0 Узел HDInsight под Azure Узел
Microsoft Azure Hive Query Language Service 2.4.5000.0 Языковая служба для запроса Hive
Microsoft Azure Служба Fabri c Инструменты для Visual Studio 16.0 Microsoft Azure Служба Fabri c Инструменты для Visual Studio
Microsoft Azure Языковая служба Stream Analytics 2.4.5000.0 Языковая служба для Azure Stream Analytics
Microsoft Azure Узел Stream Analytics 1.0 Azure Узел Stream Analytics под Azure Узел
Microsoft Azure Инструменты 2.9 Microsoft Azure Инструменты для Microsoft Visual Studio 2019 - v2.9.30207.1
Инструменты непрерывной доставки Microsoft для Visual Studio 0.4 Упрощение конфигурации Azure DevOps конвейеров из среды Visual Studio.
Microsoft JVM Debugger 1.0 Обеспечивает поддержку подключение отладчика Visual Studio к JDWP-совместимым Java виртуальным машинам
Microsoft Library Manager 2.1.25 + gdacdb9b7a1 Легкая установка клиентских библиотек в любой веб-проект
Отладчик на основе Microsoft MI 1.0 Предоставляет поддержка подключения Visual Studio к MI-совместимым отладчикам
Мастера Microsoft Visual C ++ 1.0 Мастера Microsoft Visual C ++
Редактор процессов Microsoft Visual Studio 1.0 Редактор процессов для Microsoft Visual Studio Team Foundation Server
Microsoft Visual Studio T ools for Containers 1.1 Разрабатывайте, запускайте, проверяйте ваши ASP. NET Основные приложения в целевой среде. F5 ваше приложение напрямую в контейнер с отладкой или CTRL + F5 для редактирования и обновления sh вашего приложения без необходимости перестраивать контейнер.
Microsoft Visual Studio V C Пакет 1.0 Microsoft Visual Studio V C Пакет
Отладка Mono для Visual Studio 16.5.514 (c4f36a9) Поддержка отладки процессов Mono в Visual Studio.
Менеджер пакетов NuGet 5.5.0 Менеджер пакетов NuGet в Visual Studio. Для получения дополнительной информации о NuGet посетите https://docs.nuget.org/
ProjectServicesPackage Extension 1.0 ProjectServicesPackage Visual Studio Расширение Подробная информация
SQL Инструменты данных сервера 16.0.62003.05170 Microsoft SQL Инструменты данных сервера
ToolWindowHostedEditor 1.0 Хостинг * Редактор 1233 * в окне инструментов
Инструменты TypeScript 16.0.20225.2001 Инструменты TypeScript для Microsoft Visual Studio
Visual Basi c Инструменты 3.5 .0-beta4-20153-05 + 20b9af913f1b8ce0a62f72bea9e75e4aa3cf6b0e Visual Basi c компоненты, используемые в IDE. В зависимости от типа и настроек вашего проекта может использоваться другая версия компилятора.
Visual C ++ для кроссплатформенной мобильной разработки (Android) 16.0.29814.53 Visual C ++ для кроссплатформенной мобильной разработки (Android )
Инструменты Visual F # 10.8.0.0 для F # 4.7 16.5.0-beta.20104.8 + 7c4de19faf36647c1ef700e655a52350840c6f03 Инструменты Microsoft Visual F # 10.8.0.0 для F # 4.7
Пакет адаптера отладки кода Visual Studio 1.0 Пакет 1.0 Взаимодействие слой для размещения отладочных адаптеров кода Visual Studio в Visual Studio
Расширения инструментов контейнера Visual Studio (предварительный просмотр) 1.0 Просмотр, управление и диагностика контейнеров в Visual Studio.
Инструменты Visual Studio для контейнеров 1.0 Инструменты Visual Studio для контейнеров
Инструменты Visual Studio для Kubernetes 1.0 Инструменты Visual Studio для Kubernetes
VisualStudio.DeviceLog 1.0 Информация о моем пакете
VisualStudio.Foo 1.0 Информация о моем пакете
VisualStudio.Ma c 1,0 Ma c Расширение для Visual Studio
Xamarin 16.5.000.528 (d16-5@2b54082) Расширение Visual Studio для включения разработка для Xamarin. iOS и Xamarin. Android.
Xamarin Designer 16.5.0.470 (remotes / origin / d16-5@681de3fd6) Расширение Visual Studio для включения инструментов Xamarin Designer в Visual Studio.
Шаблоны Xamarin 16.5.49 (0904f41) Шаблоны для создания приложений iOS, Android и Windows с Xamarin и Xamarin.Forms.
Xamarin. Android SDK 10.2.0.100 (d16 -5 / 988c811) Xamarin. Android Справочные сборки и поддержка MSBuild. Mono: c0c5c78 Java .Interop: xamarin / java .interop / d16-5@fc18c54 ProGuard: xamarin / proguard / master@905836d SQLite: xamarin / sqlite / 3.28. 0@46204c4 Xamarin. Android Инструменты: xamarin / xamarin - android -инструменты / d16-5@9f4ed4b
Xamarin. iOS и Xamarin.Ma c SDK 13.16.0.11 (aa73e41) Xamarin. iOS и Xamarin.Ma c Справочные сборки и Поддержка MSBuild.