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.
Ação recomendada
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.