Alteração no comportamento de PublishDepsFilePath

A PublishDepsFilePath propriedade MSBuild está vazia para aplicativos de arquivo único. Além disso, para aplicativos que não sejam de arquivo único, o arquivo deps.json não pode ser copiado para o diretório de saída até mais tarde na compilação.

Versão introduzida

5.0

Alterar descrição

Em versões anteriores do .NET, a PublishDepsFilePath propriedade MSBuild é o caminho para o arquivo deps.json do aplicativo no diretório de saída para aplicativos que não são de arquivo único e um caminho no diretório intermediário para aplicativos de arquivo único.

A partir do .NET 5, PublishDepsFilePath está vazio para aplicativos de arquivo único e uma nova IntermediateDepsFilePath propriedade especifica o local deps.json no diretório intermediário. Além disso, para aplicativos que não sejam de arquivo único, o arquivo deps.json não pode ser copiado para o diretório de saída (ou seja, o caminho especificado por PublishDepsFilePath) até mais tarde na compilação.

Motivo da mudança

Esta alteração foi feita por algumas razões:

  • Devido a uma refatoração da lógica de publicação para oferecer suporte a aplicativos de arquivo único aprimorados no .NET 5.

  • Em aplicativos de arquivo único, para ajudar a proteger contra alvos que tentem reescrever o arquivo deps.json após deps.json já ter sido empacotado, garantindo que isso não afete o aplicativo sem ser notado. Por esse motivo, PublishDepsFilePath está vazio para aplicativos de arquivo único.

Os destinos que reescrevem o arquivo deps.json geralmente devem fazê-lo usando a IntermediateDepsFilePath propriedade.

APIs afetadas

N/A