

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Portando o código da camada de UI
<a name="dotnet-porting-ui"></a>

AWS O Transform pode portar a camada de interface do usuário dos ASP.NET sites para estruturas de interface do usuário compatíveis com o ASP.NET Core, que podem ser executadas no Linux. As seguintes transformações estão disponíveis:
+ Portabilidade do MVC Razor UI
+ Portabilidade de formulários da Web para Blazor UI

## Portabilidade do MVC Razor UI
<a name="dotnet-mvc-razor-porting"></a>

ASP.NET Projetos MVC com a interface do Razor Views podem ser portados para o MVC Razor Views on ASP.NET Core, permanecendo na mesma estrutura de interface do usuário. Embora as visualizações do Razor sejam semelhantes entre ASP.NET e ASP.NET Core, há diferenças que exigem alterações no código de portabilidade:
+ ASP.NET As visualizações MVC Razor usam o System.Web.Mvc namespace e estão intimamente ligadas ao .NET Framework.
+ ASP.NET As Core Razor Views são modulares, integradas Microsoft.AspNetCore.Mvc e com injeção de dependência aprimorada.
+ ASP.NET O Core tem novos recursos, incluindo Tag Helpers e View Components.

AWS O Transform detecta e porta componentes e construções comuns incompatíveis no Razor Views.

## Portabilidade de formulários da Web para Blazor UI
<a name="dotnet-webforms-blazor-porting"></a>

ASP.NET A interface do usuário do Web Forms não tem uma contrapartida no ASP.NET Core. AWS O Transform pode portar o código da camada de interface do usuário do Web Forms para o Blazor Server on ASP.NET Core. O código da camada de interface do usuário é reescrito para a estrutura da interface de usuário de destino.

Para habilitar ou desabilitar a portabilidade de Web Forms para Blazor UI, marque ou desmarque a configuração de trabalho Transform UI ASP.NET Web Forms to Blazor.

### Detalhes da transformação
<a name="dotnet-transformation-details"></a>

Seu projeto Web Forms é convertido em um projeto Blazor com hospedagem no lado do servidor. As seguintes alterações no projeto e no arquivo são feitas durante a transformação:


**Mapeamento de transformação de arquivos**  

| De | Para | Description | 
| --- | --- | --- | 
| \*.aspx, \*.ascx | \*.navalha | páginas.aspx e controles personalizados.ascx se tornam arquivos.razor | 
| Web.config | appsettings.json | Web.config configurações se tornam configurações appsettings.json | 
| Global.asax | Program.cs | Global.asax código se torna Program.cs código | 
| \*.mestre | \*layout.navalha | Os arquivos mestres se tornam arquivos layout.razor | 

### Post-transformation estrutura do projeto
<a name="dotnet-post-transformation-structure"></a>

Após a transformação, os arquivos transformados residem nos seguintes locais do projeto:
+ Pasta de componentes: todos os componentes do razor (\*.razor) são colocados em uma pasta Components criada no mesmo nível do arquivo.csproj do projeto.
+ Mapeamento de páginas: páginas de formulários da Web (\*.aspx) são convertidas em estrutura de pastas. Components/Pages 
+ Mapeamento de controles: os controles do Web Forms (\*.ascx) são colocados diretamente na pasta Components.

### Limitações e recursos não suportados
<a name="dotnet-limitations-unsupported"></a>

Os seguintes recursos não são suportados no momento. Se suas cargas de trabalho usarem esses recursos, esse código precisará ser transferido manualmente ou com um código de IA complementar após a transformação.
+ arquivos.svc (arquivos de serviço)
+ arquivos.ashx (arquivos manipuladores genéricos)
+ Referências de serviços e referências da web (arquivos reference.map, reference.cs, .wsdl)
+ Misturas de arquivos.aspx (Web Forms) e arquivos.cshtml (Razor) no mesmo projeto
+ Dependências em tipos de projeto ainda não suportadas pelo AWS Transform for .NET
+ Third-party UI do fornecedor libraries/controls
+ Projetos de sites

Somente projetos de aplicativos Web (contendo um arquivo.csproj) são suportados. Para converter um projeto de site em um projeto de aplicativo Web, consulte a orientação da Microsoft sobre como [converter um projeto de site em um projeto de aplicativo Web](https://devblogs.microsoft.com/dotnet/converting-a-web-site-project-to-a-web-application-project/).