From 44d9962872fcecacbb4c4818e9a95428d3ffaa19 Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Thu, 10 Sep 2020 17:31:18 -0700 Subject: [PATCH 1/3] add framework --- docs/core/compatibility/3.1-5.0.md | 8 +++++++ docs/core/compatibility/msbuild.md | 11 ++++++++- .../publishdepsfilepath-behavior-change.md | 23 +++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md diff --git a/docs/core/compatibility/3.1-5.0.md b/docs/core/compatibility/3.1-5.0.md index abf9f3d23667d..97d89c41d661c 100644 --- a/docs/core/compatibility/3.1-5.0.md +++ b/docs/core/compatibility/3.1-5.0.md @@ -290,6 +290,14 @@ If you're migrating from version 3.1 of .NET Core, ASP.NET Core, or EF Core to v *** +## MSBuild + +- [PublishDepsFilePath behavior change](#publishdepsfilepath-behavior-change) + +[!INCLUDE [publishdepsfilepath-behavior-change](../../../includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md)] + +*** + ## Networking - [WinHttpHandler removed from .NET runtime](#winhttphandler-removed-from-net-runtime) diff --git a/docs/core/compatibility/msbuild.md b/docs/core/compatibility/msbuild.md index fc394aed4787e..9553e5bd3915c 100644 --- a/docs/core/compatibility/msbuild.md +++ b/docs/core/compatibility/msbuild.md @@ -7,7 +7,16 @@ ms.date: 02/10/2020 The following breaking changes are documented on this page: -- [Resource manifest file name change](#resource-manifest-file-name-change) +| Breaking change | Version introduced | +| - | - | +| [PublishDepsFilePath behavior change](#publishdepsfilepath-behavior-change) | 5.0 | +| [Resource manifest file name change](#resource-manifest-file-name-change) | 3.0 | + +## .NET 5.0 + +[!INCLUDE [publishdepsfilepath-behavior-change](../../../includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md)] + +*** ## .NET Core 3.0 diff --git a/includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md b/includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md new file mode 100644 index 0000000000000..19e379f42c31a --- /dev/null +++ b/includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md @@ -0,0 +1,23 @@ +### PublishDepsFilePath behavior change + + + +#### Version introduced + +5.0 + +#### Change description + + + +#### Recommended action + +Targets that rewrite the *deps.json* file should generally do so using the `IntermediateDepsFilePath` property. + +#### Category + +MSBuild + +#### Affected APIs + +N/A From c22508847103a9040c36276fda5705478df0d1ac Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Thu, 10 Sep 2020 18:09:27 -0700 Subject: [PATCH 2/3] Fixes #20376 --- .../5.0/publishdepsfilepath-behavior-change.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md b/includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md index 19e379f42c31a..87d55f25748c6 100644 --- a/includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md +++ b/includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md @@ -1,6 +1,6 @@ ### PublishDepsFilePath behavior change - +The `PublishDepsFilePath` MSBuild property is empty for single-file applications. Additionally, for non single-file applications, the *deps.json* file may not be copied to the output directory until later in the build. #### Version introduced @@ -8,7 +8,17 @@ #### Change description +In previous .NET versions, the `PublishDepsFilePath` MSBuild property is the path to the app's *deps.json* file in the output directory for non single-file applications, and a path in the intermediate directory for single-file apps. + +Starting in .NET 5.0, `PublishDepsFilePath` is empty for single-file applications and a new `IntermediateDepsFilePath` property specifies the *deps.json* location in the intermediate directory. Additionally, for non single-file applications, the *deps.json* file may not be copied to the output directory (that is, the path specified by `PublishDepsFilePath`) until later in the build. + +#### Reason for change + +This change was made for a couple of reasons: + +- Due to a refactoring of the publish logic in order to support [improved single-file apps](https://github.com/dotnet/designs/blob/master/accepted/2020/single-file/design.md) in .NET 5. +- In single-file apps, to help guard against targets that try to rewrite the *deps.json* file after *deps.json* has already been bundled, thus silently not affecting the app. For this reason, `PublishDepsFilePath` is empty for single-file applications. #### Recommended action From 1d68656352fe6ae8395258752ac0ed4d5affc695 Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Fri, 11 Sep 2020 07:52:55 -0700 Subject: [PATCH 3/3] Update includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md Co-authored-by: Youssef Victor <31348972+Youssef1313@users.noreply.github.com> --- .../msbuild/5.0/publishdepsfilepath-behavior-change.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md b/includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md index 87d55f25748c6..d5b1eed78bc05 100644 --- a/includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md +++ b/includes/core-changes/msbuild/5.0/publishdepsfilepath-behavior-change.md @@ -31,3 +31,11 @@ MSBuild #### Affected APIs N/A + +