dotnet / project-system

The .NET Project System for Visual Studio
MIT License
959 stars 386 forks source link

FUTDC detects changes to Pack items #9437

Closed drewnoakes closed 3 months ago

drewnoakes commented 3 months ago

Fixes #9433

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.

Microsoft Reviewers: Open in CodeFlow