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>
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:

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
Comment 3 Marek Safar 2018-03-15 10:40:01 UTC
We deprecated xbuild and recommend using msbuild instead. Switching to msbuild will also most likely resolve the issue you reported.