PublishDepsFilePath 行为变更

PublishDepsFilePath对于单文件应用程序,MSBuild 属性为空。 对于非单文件应用程序,此外,deps.json 文件可能不会复制到目标目录,直到稍后的构建过程中。

已引入的版本

5.0

更改描述

在以前的 .NET 版本中,PublishDepsFilePath MSBuild 属性指的是非单文件应用程序中应用程序的输出目录中的 deps.json 文件路径,以及单文件应用程序中间目录中的路径。

从 .NET 5 开始,单文件应用程序的 PublishDepsFilePath 为空,并且一个新的 IntermediateDepsFilePath 属性指定中间目录中的 deps.json 位置。 此外,对于非单文件应用程序,deps.json 文件可能要到构建过程的后期阶段才会复制到输出目录(即由 PublishDepsFilePath 指定的路径)。

更改原因

由于以下几个原因,进行了此更改:

  • 由于对发布逻辑进行了重构,以支持 .NET 5 中 改进的单文件应用

  • 在单文件应用中,为了帮助保护在捆绑 deps.json 后尝试重写 deps.json 文件的目标,从而静默不影响该应用。 因此,对于单文件应用程序, PublishDepsFilePath 为空。

重写 deps.json 文件的目标通常应该使用该 IntermediateDepsFilePath 属性。

受影响的 API