diff --git a/src/Package/build/ReferenceTrimmer.targets b/src/Package/build/ReferenceTrimmer.targets index a533591..3f970f3 100644 --- a/src/Package/build/ReferenceTrimmer.targets +++ b/src/Package/build/ReferenceTrimmer.targets @@ -9,7 +9,11 @@ - + <_ReferenceTrimmerDeclaredReferencesFile>$([System.IO.Path]::GetFullPath('$(IntermediateOutputPath)_ReferenceTrimmer_DeclaredReferences.tsv')) <_ReferenceTrimmerUsedReferencesFile>$([System.IO.Path]::GetFullPath('$(IntermediateOutputPath)_ReferenceTrimmer_UsedReferences.log')) diff --git a/src/Tasks/CollectDeclaredReferencesTask.cs b/src/Tasks/CollectDeclaredReferencesTask.cs index 00e3c6a..4d201d8 100644 --- a/src/Tasks/CollectDeclaredReferencesTask.cs +++ b/src/Tasks/CollectDeclaredReferencesTask.cs @@ -506,6 +506,9 @@ private static void SaveDeclaredReferences(IReadOnlyList decl string existing = File.ReadAllText(filePath); if (string.Equals(existing, newContent, StringComparison.OrdinalIgnoreCase)) { + // Touch the file so that MSBuild's Inputs/Outputs incrementality check + // sees a fresh timestamp and can skip the target on subsequent builds. + File.SetLastWriteTimeUtc(filePath, DateTime.UtcNow); return; } }