|Summary:||Items and properties not emitted for up to date targets|
|Product:||[Mono] Tools||Reporter:||Mikayla Hutchinson [MSFT] <mhutch>|
|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
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.