Eventos
Campeonato Mundial de Visualização de Dados do Power BI
14 de fev., 16 - 31 de mar., 16
Com 4 chances de participar, você pode ganhar um pacote de conferência e chegar à Grande Final AO VIVO em Las Vegas
Saiba maisNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Este artigo explica como atualizar um ASP.NET Core no .NET 8 para o ASP.NET Core no .NET 9.
Visual Studio 2022 com a carga de trabalho de desenvolvimento Web e do ASP.NET.
Se você depende de um arquivo global.json
para o direcionamento a uma versão específica do SDK do .NET Core, atualize a propriedade version
para a versão do SDK do .NET 9.0 instalada. Por exemplo:
{
"sdk": {
- "version": "8.0.100"
+ "version": "9.0.100"
}
}
Atualize o TFM (Moniker da Estrutura de Destino) do arquivo de projeto para net9.0
:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
- <TargetFramework>net8.0</TargetFramework>
+ <TargetFramework>net9.0</TargetFramework>
</PropertyGroup>
</Project>
No arquivo do projeto, atualize o atributo Microsoft.AspNetCore.*
de cada referência de pacote Microsoft.EntityFrameworkCore.*
, Microsoft.Extensions.*
, System.Net.Http.Json
e Version
para 9.0.0 ou posterior. Por exemplo:
<ItemGroup>
- <PackageReference Include="Microsoft.AspNetCore.JsonPatch" Version="8.0.2" />
- <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.2" />
- <PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="8.0.0" />
- <PackageReference Include="System.Net.Http.Json" Version="8.0.0" />
+ <PackageReference Include="Microsoft.AspNetCore.JsonPatch" Version="9.0.0" />
+ <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0" />
+ <PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="9.0.0" />
+ <PackageReference Include="System.Net.Http.Json" Version="9.0.0" />
</ItemGroup>
Otimize o tratamento de arquivos estáticos em seus aplicativos Web substituindo UseStaticFiles por MapStaticAssets no arquivo do Program
aplicativo:
- app.UseStaticFiles();
+ app.MapStaticAssets();
Nos aplicativos MVC e Razor Pages, você também precisa encadear uma chamada para .WithStaticAssets
depois MapRazorPages
ou MapControllerRoute
em Program.cs
. Para obter um exemplo, consulte os arquivos estáticos no ASP.NET Core.
ASP.NET Core automaticamente imprime e pré-compacta seus arquivos estáticos no momento da compilação e publicação e, em seguida MapStaticAssets , exibe os arquivos otimizados como pontos de extremidade usando o roteamento de ponto de extremidade com cabeçalhos de cache apropriados.
Para resolver os nomes de arquivo com impressão digital do seu aplicativo:
Em Blazor aplicativos, use a ComponentBase.Assets propriedade. Atualize as referências explícitas a ativos estáticos em Razor arquivos de componente (.razor
) para usar @Assets["{ASSET PATH}"]
, em que o espaço reservado {ASSET PATH}
é o caminho para o ativo. Observe que isso NÃO deve ser feito para os scripts de Blazor estrutura (blazor.*.js
). No exemplo a seguir, o Bootstrap, a folha de estilo do Blazor aplicativo de modelo de projeto (app.css
) e a folha de estilo de isolamento CSS (com base no namespace de um aplicativo de BlazorSample
) estão vinculados em um componente raiz, normalmente o App
componente (Components/App.razor
):
<link rel="stylesheet" href="@Assets["bootstrap/bootstrap.min.css"]" />
<link rel="stylesheet" href="@Assets["app.css"]" />
<link rel="stylesheet" href="@Assets["BlazorSample.styles.css"]" />
Nos aplicativos MVC e Razor Pages, os auxiliares de script e tag de link resolverão automaticamente os nomes de arquivo com impressão digital.
Para resolver os nomes de arquivo com impressão digital ao importar módulos JavaScript, adicione um mapa de importação gerado:
Em Blazor aplicativos, adicione o componente (ImportMap) ao <head>
conteúdo do componente raiz do aplicativo, normalmente no App
componente (App.razor
):
<ImportMap />
Em aplicativos MVC e Razor páginas, adicione <script type="importmap"></script>
ao cabeçalho do arquivo de layout principal, que é atualizado pelo Auxiliar de Marca de Mapa de Importação.
Para saber mais, consulte os recursos a seguir:
Blazor Web AppOpcionalmente, o s pode adotar a serialização simplificada do estado de autenticação.
No projeto do servidor:
Remova o provedor de estado de autenticação persistente (PersistingAuthenticationStateProvider.cs
).
Remova o registro de serviço do Program
arquivo. Em vez disso, encadeie uma chamada para AddAuthenticationStateSerialization on AddRazorComponents:
- builder.Services.AddScoped<AuthenticationStateProvider, PersistingAuthenticationStateProvider>();
builder.Services.AddRazorComponents()
.AddInteractiveServerComponents()
.AddInteractiveWebAssemblyComponents()
+ .AddAuthenticationStateSerialization();
A API só serializa as declarações de nome e função do lado do servidor para acesso no navegador. Para incluir todas as declarações, defina SerializeAllClaims como true
:
.AddAuthenticationStateSerialization(options => options.SerializeAllClaims = true);
No projeto do cliente (.Client
):
Remova o provedor de estado de autenticação persistente (PersistentAuthenticationStateProvider.cs
).
Remova o registro de serviço do Program
arquivo. Em vez disso, chame AddAuthenticationStateDeserialization a coleção de serviços:
- builder.Services.AddSingleton<AuthenticationStateProvider, PersistentAuthenticationStateProvider>();
+ builder.Services.AddAuthenticationStateDeserialization();
Para obter mais informações, confira Novidades do ASP.NET Core 9.0.
No .NET 8, a renderização de streaming requer que você passe true
para o parâmetro enabled
:
@attribute [StreamRendering(true)]
No .NET 9 ou posterior, true
pode ser removido opcionalmente, pois true
agora é o padrão para o parâmetro enabled
:
@attribute [StreamRendering]
Comentários do ASP.NET Core
O ASP.NET Core é um projeto código aberto. Selecione um link para fornecer comentários:
Eventos
Campeonato Mundial de Visualização de Dados do Power BI
14 de fev., 16 - 31 de mar., 16
Com 4 chances de participar, você pode ganhar um pacote de conferência e chegar à Grande Final AO VIVO em Las Vegas
Saiba maisTreinamento
Módulo
Renderizar respostas de API em aplicativos Web do ASP.NET Core Blazor - Training
Renderizar respostas de API em aplicativos Web do ASP.NET Core Blazor