When a project specifies GeneratePackageOnBuild, additional items must become inputs to the FUTDC. Without this, it's possible to change a Content item, for example, that has Pack="true" metadata, and not have those changes included in the generated NuGet package during builds.
This change includes all the items that NuGet would include in the package as inputs to the FUTDC.
Note that ideally we would only include these items when GeneratePackageOnBuild was true, however we force the property to false during design-time builds in GeneratePackageOnBuildDesignTimeBuildPropertyProvider, so instead we add these items unconditionally. It's possible that this could trigger a few extra builds for some uncommon project configurations, but that seems unlikely and is better than failing to build correctly.
Fixes #9433
When a project specifies
GeneratePackageOnBuild
, additional items must become inputs to the FUTDC. Without this, it's possible to change aContent
item, for example, that hasPack="true"
metadata, and not have those changes included in the generated NuGet package during builds.This change includes all the items that NuGet would include in the package as inputs to the FUTDC.
Note that ideally we would only include these items when
GeneratePackageOnBuild
wastrue
, however we force the property tofalse
during design-time builds inGeneratePackageOnBuildDesignTimeBuildPropertyProvider
, so instead we add these items unconditionally. It's possible that this could trigger a few extra builds for some uncommon project configurations, but that seems unlikely and is better than failing to build correctly.Microsoft Reviewers: Open in CodeFlow