XAML Hot Reload para .NET MAUI

Interface do usuário do aplicativo multiplataforma .NET (.NET MAUI) O XAML Hot Reload é um recurso do Visual Studio que permite exibir o resultado das alterações XAML em seu aplicativo em execução, sem precisar recriar seu projeto. Sem o XAML Hot Reload, você precisa criar e implantar seu aplicativo sempre que quiser exibir o resultado de uma alteração XAML.

Quando seu aplicativo .NET MAUI está sendo executado na configuração de depuração, com o depurador anexado, o XAML Hot Reload analisa suas edições XAML e envia essas alterações para o aplicativo em execução. Ele preserva o estado da interface do usuário, já que não recria a interface do usuário para a página inteira e atualiza as propriedades alteradas nos controles afetados pelas edições. Além disso, seu estado de navegação e dados serão mantidos, permitindo que você itere rapidamente em sua interface do usuário sem perder sua localização no aplicativo. Portanto, você gastará menos tempo recriando e implantando seus aplicativos para validar as alterações da interface do usuário.

Por padrão, você não precisa salvar seu arquivo XAML para ver os resultados de suas edições. Em vez disso, as atualizações são aplicadas imediatamente à medida que você digita. No entanto, no Windows, você pode alterar esse comportamento para atualizar somente ao salvar o arquivo. Isso pode ser feito marcando a caixa de seleção Aplicar XAML Hot Reload no documento salvo nas configurações do IDE Hot Reload disponíveis selecionando Debug > Options> XAML Hot Reload na barra de menus do Visual Studio. Às vezes, somente a atualização no salvamento de arquivos pode ser útil se você fizer atualizações XAML maiores e não desejar que elas sejam exibidas até que sejam concluídas.

Observação

Se você estiver escrevendo um aplicativo nativo UWP ou WPF, sem usar o .NET MAUI, consulte O que é XAML Hot Reload para aplicativos WPF e UWP?.

O XAML Hot Reload está disponível no Visual Studio 2022 e no Visual Studio 2022 para Mac. No Windows, o XAML Hot Reload está disponível no Android, iOS e WinUI em emuladores, simuladores e dispositivos físicos. No Mac, o XAML Hot Reload está disponível no Android, iOS e Mac Catalyst em emuladores, simuladores e dispositivos físicos.

Importante

O XAML Hot Reload não recarrega o código C#, incluindo manipuladores de eventos.

Habilitar XAML Hot Reload

O XAML Hot Reload é habilitado por padrão no Visual Studio 2022. Se tiver sido desabilitado anteriormente, ele poderá ser habilitado selecionando Debug > Options > XAML Hot Reload na barra de menus do Visual Studio. Em seguida, na caixa de diálogo Opções, verifique se as opções Habilitar XAML Hot Reload, WinUI (incluindo .NET MAUI) e Android e iOS (.NET MAUI) estão marcadas:

XAML Hot Reload options for .NET MAUI in Visual Studio.

Em seguida, no iOS, nas configurações de compilação, verifique se o Vinculador está definido como "Não vincular".

Recarregar em várias plataformas

O XAML Hot Reload oferece suporte à depuração simultânea de várias plataformas no Visual Studio e no Visual Studio para Mac, desde que você tenha projetos principais separados por plataforma, em vez de um único aplicativo de projeto. Por exemplo, você pode implantar um destino Android e iOS ao mesmo tempo para ver suas alterações refletidas em ambas as plataformas ao mesmo tempo. Para depurar em várias plataformas no Windows, consulte Como: Definir vários projetos de inicialização. Para depurar em várias plataformas em um Mac, consulte Definir vários projetos de inicialização.

Solução de problemas

A saída XAML Hot Reload exibe mensagens de status que podem ajudar na solução de problemas. No Visual Studio, eles podem ser exibidos selecionando Exibir > saída na barra de menus e, em seguida, selecionando Xamarin Hot Reload na lista suspensa Mostrar saída de:. No Visual Studio para Mac, eles podem ser exibidos passando o cursor do mouse sobre o XAML Hot Reload na barra de status.

Se o XAML Hot Reload falhar ao inicializar, você deverá garantir que está usando a versão mais recente do .NET MAUI, a versão mais recente do IDE e que as configurações do vinculador do iOS estejam definidas como Não vincular nas configurações de compilação do projeto.

Se nada acontecer ao salvar seu arquivo XAML, verifique se o XAML Hot Reload está habilitado no IDE. Para obter mais informações, consulte Habilitar XAML Hot Reload.

Se você fizer uma alteração que o analisador XAML Hot Reload veja como inválida, ela mostrará o erro sublinhado no editor e o incluirá na janela Lista de Erros . Os erros de Recarregamento a Quente têm um código de erro que começa com "XHR" (para Recarregamento a Quente XAML). Se houver esses erros na página, o XAML Hot Reload não aplicará alterações ao seu aplicativo em execução até que os erros tenham sido corrigidos.

Não é possível adicionar, remover ou renomear arquivos ou pacotes NuGet durante uma sessão de Recarregamento a Quente XAML. Se você adicionar ou remover um arquivo ou pacote NuGet, recrie e reimplante seu aplicativo para continuar usando o XAML Hot Reload.

Não há suporte para desabilitar a compilação XAML com e pode causar problemas com [XamlCompilation(XamlCompilationOptions.Skip)] a Live Visual Tree. Para obter mais informações sobre a Live Visual Tree, consulte Inspecionar a árvore visual de um aplicativo .NET MAUI.