Изменение поведения PublishDepsFilePath
Свойство MSBuild PublishDepsFilePath
пусто для однофайловых приложений. Кроме того, для приложений с несколькими файлами файл deps.json может быть скопирован в выходной каталог только на более поздних этапах сборки.
Представленные версии
5,0
Описание изменения
В предыдущих версиях .NET свойство MSBuild PublishDepsFilePath
является путем к файлу deps.json приложения в выходном каталоге для приложений с несколькими файлами и путем в промежуточном каталоге для однофайловых приложений.
Начиная с .NET 5 свойство PublishDepsFilePath
пусто для однофайловых приложений, а новое свойство IntermediateDepsFilePath
указывает расположение файла deps.json в промежуточном каталоге. Кроме того, для приложений с несколькими файлами файл deps.json может быть скопирован в выходной каталог (т. е. по пути, указанному в PublishDepsFilePath
) только на более поздних этапах сборки.
Причина изменения
Это изменение было внесено по нескольким причинам.
Из-за рефакторинга логики публикации для поддержки улучшенных однофайловых приложений в .NET 5.
Для защиты однофайловых приложений от целевых объектов, которые пытаются перезаписать файл deps.json уже после его объединения в пакет, без влияния на приложение. Поэтому свойство MSBuild
PublishDepsFilePath
пусто для однофайловых приложений.
Рекомендуемое действие
Целевые объекты, которые перезаписывают файл deps.json, обычно используют для этого свойство IntermediateDepsFilePath
.
Затронутые API
Н/Д