Compartilhar via


O PreserveCompilationContext não é configurado por padrão

PreserveCompilationContext é uma propriedade do MSBuild que faz com que projetos do .NET Core emitam conteúdo adicional para o arquivo de dependência (.deps) do aplicativo sobre como o aplicativo foi compilado. Isso é usado principalmente para dar suporte a cenários de compilação de tempo de execução.

Antes do .NET 6, PreserveCompilationContext era definido como true para todos os aplicativos destinados aos SDKs Razor (Microsoft.NET.Sdk.Razor) e Web (Microsoft.NET.Sdk.Web). Do .NET 6 em diante, essa propriedade não é mais configurada por padrão. No entanto, pacotes como Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation configuram essa propriedade conforme o necessário.

Versão introduzida

ASP.NET Core 6.0

Comportamento antigo

O arquivo de dependência contém o contexto de compilação.

Novo comportamento

O arquivo de dependência não contém mais o contexto de compilação.

Motivo da alteração

Essa alteração aprimora o desempenho do build e o tempo de inicialização e reduz o tamanho da saída de build do ASP.NET Core.

Se o aplicativo exigir esse recurso e não fizer referência a um pacote que configure a propriedade, adicione a propriedade PreserveCompilationContext ao arquivo de projeto.

<PropertyGroup>
   <PreserveCompilationContext>true</PreserveCompilationContext>
</PropertyGroup>

APIs afetadas

Nenhum.