From a5cf05922855739186cb0b60116d4bd0c8e68e91 Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Mon, 15 May 2017 13:58:26 -0500 Subject: [PATCH] Invalidate FUTD checks when deploying new impls When a project both uses and produces reference assemblies, its primary output assembly might be up to date while (transitive) references need to be copied to its output directory. This case fooled the Visual Studio Fast Up-To-Date check, because the transitive dependencies aren't listed as project inputs (because design-time builds disable RAR's FindDependencies for performance reasons). To account for this, introduce a new file that is updated whenever _CopyFilesMarkedCopyLocal does actual work, pass it along as part of the project's output, and consider it a project input for the FUTD check. --- .../Microsoft.Common.CurrentVersion.targets | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Tasks/Microsoft.Common.CurrentVersion.targets b/src/Tasks/Microsoft.Common.CurrentVersion.targets index 3c04536cca5..6638c524f5b 100644 --- a/src/Tasks/Microsoft.Common.CurrentVersion.targets +++ b/src/Tasks/Microsoft.Common.CurrentVersion.targets @@ -348,6 +348,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. $(IntermediateOutputPath)\ <_GenerateBindingRedirectsIntermediateAppConfig>$(IntermediateOutputPath)$(MSBuildProjectFile).$(TargetFileName).config + $([MSBuild]::NormalizePath('$(MSBuildProjectDirectory)', '$(IntermediateOutputPath)', '$(MSBuildProjectFile).CopyComplete')) @@ -1814,6 +1815,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. $(TargetPlatformMoniker) $(TargetPlatformIdentifier) $(TargetRefPath) + $(CopyUpToDateMarker) @@ -2065,7 +2067,10 @@ Copyright (C) Microsoft Corporation. All rights reserved. - + + @@ -4235,9 +4240,18 @@ Copyright (C) Microsoft Corporation. All rights reserved. > + + + +