Bug 43645

Summary: Items and properties not emitted for up to date targets
Product: [Mono] Tools Reporter: Mikayla Hutchinson [MSFT] <mhutch>
Component: xbuildAssignee: Bugzilla <bugzilla>
Status: NEW ---    
Severity: major CC: david, mono-bugs+tools
Priority: ---    
Version: 4.6.0 (C8)   
Target Milestone: ---   
Hardware: PC   
OS: Mac OS   
Tags: Is this bug a regression?: ---
Last known good build:

Description Mikayla Hutchinson [MSFT] 2016-08-23 02:20:41 UTC
MSBuild target should emit items and properties defined in ItemGroups and PropertyGroups even if the target is skipped because it is up to date. xbuild does not do this.

Here is a test case:
https://gist.github.com/b5043f541d9976f1e413f58ecfbb3613

On xbuild, it outputs the message "Included!" the first time it runs, but not on subsequent runs.
On MSBuild, it outputs the message EVERY time it runs.

Unfortunately, xbuild's own GenerateTargetFrameworkMonikerAttribute target depends on this feature. This leads to TargetFrameworkAttribute being omitted from assemblies.
Comment 1 Mikayla Hutchinson [MSFT] 2016-08-23 02:22:34 UTC
For now, I'd suggest it's easier just to hack GenerateTargetFrameworkMonikerAttribute to work.
Comment 2 Mikayla Hutchinson [MSFT] 2016-08-23 03:19:23 UTC
PR to fix the TargetFrameworkAttribute issue by working around this limitation: https://github.com/mono/mono/pull/3431