Changement de comportement de PublishDepsFilePath

La propriété MSBuild PublishDepsFilePath est vide pour les applications à fichier unique. En outre, pour les applications non à fichier unique, le fichier deps.json ne peut pas être copié dans le répertoire de sortie avant d’être plus avancé dans la build.

Version introduite

5,0

Description de la modification

Dans les versions .NET précédentes, la propriété MSBuild PublishDepsFilePath est le chemin d’accès au fichier deps.json de l’application dans le répertoire de sortie pour les applications à fichier unique et un chemin dans le répertoire intermédiaire pour les applications à fichier unique.

À partir de .NET 5, PublishDepsFilePath est vide pour les applications à fichier unique et une nouvelle propriété IntermediateDepsFilePath spécifie l’emplacement deps.json dans le répertoire intermédiaire. En outre, pour les applications non à fichier unique, le fichier deps.json ne peut être copié dans le répertoire de sortie (c’est à dire le chemin spécifié par PublishDepsFilePath) avant d’être plus avancé dans la build.

Raison du changement

Ce changement a été effectué pour deux raisons :

  • En raison d’une refactorisation de la logique de publication afin de prendre en charge les applications à fichier unique améliorées dans .NET 5.

  • Dans les applications à fichier unique, pour vous protéger contre les cibles qui tentent de réécrire le fichier deps.json une fois que deps.json a déjà été groupé, ce qui n’affecte pas l’application en mode silencieux. Pour cette raison, PublishDepsFilePath est vide pour les applications à fichier unique.

Les cibles qui réécriront le fichier deps.json doivent généralement le faire à l’aide de la propriété IntermediateDepsFilePath.

API affectées

N/A