Modernizar após a atualização do .NET Framework para o .NET
Artigo
Neste artigo, você aprenderá sobre diferentes maneiras de modernizar seu aplicativo depois que ele for atualizado do .NET Framework para o .NET. Use a ferramenta Assistente de Atualização do .NET para atualizar seu aplicativo para o .NET.
APIs ausentes
Ao atualizar um aplicativo .NET Framework, você provavelmente terá algumas incompatibilidades. Isso ocorre porque o .NET Framework é uma tecnologia somente para Windows e o .NET é uma tecnologia de plataforma cruzada. Algumas bibliotecas não são. Por exemplo, o .NET não fornece APIs prontas para acessar o Registro do Windows como o .NET Framework fez. O suporte para o Registro do Windows é fornecido pelo Microsoft.Win32.Registry pacote NuGet. Muitas bibliotecas específicas do .NET Framework foram portadas para .NET ou .NET Standard e estão hospedadas no NuGet. Se você encontrar uma referência ausente em seu projeto, pesquise NuGet.
Projetos destinados a uma tecnologia de área de trabalho do Windows, como Windows Presentation Foundation ou Windows Forms, podem incluir um controle de navegador da Web. O controle de navegador da Web fornecido provavelmente foi projetado antes do HTML5 e de outras tecnologias modernas da Web e é considerado obsoleto. A Microsoft publica o pacote NuGet como substituto Microsoft.Web.WebView2 moderno do controle do navegador da Web.
App.config
O .NET Framework usa o arquivo App.config para carregar configurações para seu aplicativo, como cadeias de conexão e configuração do provedor de log. O .NET moderno usa o arquivo appsettings.json para as configurações do aplicativo. A versão CLI do Assistente de Atualização lida com a conversão de arquivos App.config em appsettings.json, mas a extensão do Visual Studio não.
Gorjeta
Se você não quiser usar o arquivo appsettings.json , poderá adicionar o System.Configuration.ConfigurationManager pacote NuGet ao seu aplicativo e seu código será compilado e usado o arquivo App.config .
Embora appsettings.json seja a maneira moderna de armazenar e recuperar configurações e cadeias de conexão, seu aplicativo ainda tem código que usa o arquivo App.config. Quando seu aplicativo foi migrado, o System.Configuration.ConfigurationManager pacote NuGet foi adicionado ao projeto para que seu código usando o arquivo App.config continue a ser compilado.
À medida que as bibliotecas atualizam para o .NET, elas se modernizam oferecendo suporte a appsettings.json em vez de App.config. Por exemplo, os provedores de log no .NET Framework que foram atualizados para o .NET 6+ não usam mais App.config para configurações. É bom para você seguir a direção deles e também se afastar do uso do App.config.
O suporte para appsettings.json é fornecido pelo Microsoft.Extensions.Configuration pacote NuGet.
Execute as seguintes etapas para usar o arquivo appsettings.json como seu provedor de configuração:
Remova o pacote ou biblioteca do System.Configuration.ConfigurationManager NuGet se referenciado pelo seu aplicativo atualizado.
Adicione o Microsoft.Extensions.Configuration.Json pacote NuGet.
Crie um arquivo chamado appsettings.json.
Clique com o botão direito do mouse no arquivo de projeto na janela Gerenciador de Soluções e selecione Adicionar>Novo Item....
Na caixa de pesquisa, introduza json.
Selecione o modelo Arquivo de configuração JSON JavaScript e defina o Nome como appsettings.json.
Pressione Adicionar para adicionar o novo arquivo ao projeto.
Defina o arquivo appsettings.json a ser copiado para o diretório de saída.
Na janela Gerenciador de Soluções , localize o arquivo appsettings.json e defina as seguintes Propriedades:
Build Action: Conteúdo
Copiar para o diretório de saída: Copiar sempre
No código de inicialização do seu aplicativo, você precisa carregar o arquivo de configurações.
O código de inicialização do seu aplicativo varia de acordo com o tipo de projeto. Por exemplo, um aplicativo WPF usa o App.xaml.cs arquivo para instalação global e um aplicativo Windows Forms usa o Program.Main método para inicialização. Independentemente disso, você precisa fazer duas coisas na inicialização:
Crie um internal static membro (Friend Shared no Visual Basic) que possa ser acessado de qualquer lugar em seu aplicativo.
Durante a inicialização, atribua uma instância a esse membro.
O exemplo a seguir cria um membro chamado Config, atribui-lhe uma instância no Main método e carrega uma cadeia de conexão:
using Microsoft.Extensions.Configuration;
internal class Program
{
internal static IConfiguration Config { get; private set; }
private static void Main(string[] args)
{
Config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build();
// Use the config file to get a connection string
string? myConnectionString = Config.GetConnectionString("database");
// Run the rest of your app
}
}
Imports Microsoft.Extensions.Configuration
Module Program
Private _config As IConfiguration
' Shared not required since Program is a Module
Friend Property Config As IConfiguration
Get
Return _config
End Get
Private Set(value As IConfiguration)
_config = value
End Set
End Property
Sub Main(args As String())
Config = New ConfigurationBuilder() _
.AddJsonFile("appsettings.json") _
.Build()
' Use the config file to get a connection string
Dim myConnectionString As String = Config.GetConnectionString("database")
' Run the rest of your app
End Sub
End Module
Atualize o restante do seu código para usar as novas APIs de configuração.
Exclua o arquivo App.config do projeto.
Atenção
Verifique se o aplicativo é executado corretamente sem o arquivo App.config . Faça backup do arquivo App.config por meio do controle do código-fonte ou copiando o arquivo em outro lugar. Depois de testar completamente seu aplicativo, exclua o arquivo App.config .
Colabore connosco no GitHub
A origem deste conteúdo pode ser encontrada no GitHub, onde também pode criar e rever problemas e pedidos Pull. Para mais informações, consulte o nosso guia do contribuidor.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários:
Neste módulo, você aprenderá quando, por que e como modernizar um aplicativo do ASP.NET Framework para ASP.NET Core usando o Assistente de Atualização.
Crie soluções de ponta a ponta no Microsoft Azure para criar Funções do Azure, implementar e gerenciar aplicativos Web, desenvolver soluções utilizando o Armazenamento do Microsoft Azure e muito mais.