From 18d6582b1c8c276c5369c1a4bece3cd3b6489e57 Mon Sep 17 00:00:00 2001 From: Sujit Nayak Date: Fri, 1 Dec 2023 17:22:00 -0800 Subject: [PATCH 01/10] [ClickOnce] Consider CopyToPublishDirectory property before publishing content items --- src/Tasks/Microsoft.Common.CurrentVersion.targets | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Tasks/Microsoft.Common.CurrentVersion.targets b/src/Tasks/Microsoft.Common.CurrentVersion.targets index 1ed602b0251..d6bd6a825b7 100644 --- a/src/Tasks/Microsoft.Common.CurrentVersion.targets +++ b/src/Tasks/Microsoft.Common.CurrentVersion.targets @@ -4479,23 +4479,30 @@ Copyright (C) Microsoft Corporation. All rights reserved. either have the .exe/.dll extension or their publish status has been overriden in VS so they will show up in the PublishFiles collection. The PublishProtocol property is available only in .NET>=5 so we will used that to exclude .NET FX 4.X case. --> - <_ClickOnceTransitiveContentItemsTemp Include="@(_TransitiveItemsToCopyToOutputDirectory->'%(TargetPath)')" Condition="'$(PublishProtocol)' == 'ClickOnce'" > + <_ClickOnceTransitiveContentItemsTemp Include="@(_TransitiveItemsToCopyToOutputDirectory->'%(TargetPath)')" Condition="'$(PublishProtocol)' == 'ClickOnce' AND '%(_TransitiveItemsToCopyToOutputDirectory.CopyToPublishDirectory)' != 'Never'" > %(Identity) <_ClickOnceTransitiveContentItems Include="@(_ClickOnceTransitiveContentItemsTemp->'%(SavedIdentity)')" Condition="'%(Identity)'=='@(PublishFile)' Or '%(Extension)'=='.exe' Or '%(Extension)'=='.dll'" /> + + <_ClickOnceContentItems Include="@(ContentWithTargetPath)" Condition="'%(ContentWithTargetPath.CopyToPublishDirectory)' != 'Never'" /> + <_ClickOnceContentItems Include="@(_ClickOnceTransitiveContentItems)" /> + - <_ClickOnceNoneItemsTemp Include="@(_NoneWithTargetPath->'%(TargetPath)')" Condition="'$(PublishProtocol)'=='Clickonce' And ('%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' or '%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest')"> + <_ClickOnceNoneItemsTemp Include="@(_NoneWithTargetPath->'%(TargetPath)')" Condition="'$(PublishProtocol)'=='Clickonce' And '%(_NoneWithTargetPath.CopyToPublishDirectory)' != 'Never' And ('%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' or '%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest')"> %(Identity) <_ClickOnceNoneItems Include="@(_ClickOnceNoneItemsTemp->'%(SavedIdentity)')" Condition="'%(Identity)'=='@(PublishFile)' Or '%(Extension)'=='.exe' Or '%(Extension)'=='.dll'" /> - <_ClickOnceFiles Include="@(ContentWithTargetPath);@(_DeploymentManifestIconFile);@(AppConfigWithTargetPath);@(NetCoreRuntimeJsonFilesForClickOnce);@(_ClickOnceRuntimeCopyLocalItems);@(_ClickOnceNoneItems);@(_ClickOnceTransitiveContentItems)"/> + <_ClickOnceFiles Include="@(_ClickOnceContentItems);@(_DeploymentManifestIconFile);@(AppConfigWithTargetPath);@(NetCoreRuntimeJsonFilesForClickOnce);@(_ClickOnceRuntimeCopyLocalItems);@(_ClickOnceNoneItems)" /> From 2895e50ce4538e8fb19c811b4b2ecf4e5c6d1160 Mon Sep 17 00:00:00 2001 From: David Federman Date: Thu, 21 Dec 2023 10:12:10 -0800 Subject: [PATCH 02/10] Add requested targets to CacheContext --- .../BackEnd/BuildManager/BuildManager.cs | 3 ++- .../Components/ProjectCache/CacheContext.cs | 13 ++++++++++++ .../ProjectCache/ProjectCacheService.cs | 21 ++++++++++++++----- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/src/Build/BackEnd/BuildManager/BuildManager.cs b/src/Build/BackEnd/BuildManager/BuildManager.cs index b2aae4fb743..3d2088d264c 100644 --- a/src/Build/BackEnd/BuildManager/BuildManager.cs +++ b/src/Build/BackEnd/BuildManager/BuildManager.cs @@ -1332,6 +1332,7 @@ internal void ExecuteSubmission(BuildSubmission submission, bool allowMainThread _projectCacheService.InitializePluginsForVsScenario( ProjectCacheDescriptors.Values, resolvedConfiguration, + submission.BuildRequestData.TargetNames, _executionCancellationTokenSource.Token); } @@ -1953,7 +1954,7 @@ private void ExecuteGraphBuildScheduler(GraphBuildSubmission submission) if (submission.BuildRequestData.GraphBuildOptions.Build) { - _projectCacheService.InitializePluginsForGraph(projectGraph, _executionCancellationTokenSource.Token); + _projectCacheService.InitializePluginsForGraph(projectGraph, submission.BuildRequestData.TargetNames, _executionCancellationTokenSource.Token); var targetListTask = projectGraph.GetTargetLists(submission.BuildRequestData.TargetNames); diff --git a/src/Build/BackEnd/Components/ProjectCache/CacheContext.cs b/src/Build/BackEnd/Components/ProjectCache/CacheContext.cs index 256102d0d86..d7b5ea98cca 100644 --- a/src/Build/BackEnd/Components/ProjectCache/CacheContext.cs +++ b/src/Build/BackEnd/Components/ProjectCache/CacheContext.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; using System.Collections.Generic; using Microsoft.Build.FileSystem; using Microsoft.Build.Graph; @@ -22,12 +23,23 @@ public class CacheContext public IReadOnlyCollection? GraphEntryPoints { get; } public string? MSBuildExePath { get; } public MSBuildFileSystemBase FileSystem { get; } + public IReadOnlyCollection RequestedTargets { get; } public CacheContext( IReadOnlyDictionary pluginSettings, MSBuildFileSystemBase fileSystem, ProjectGraph? graph = null, IReadOnlyCollection? graphEntryPoints = null) + : this(pluginSettings, fileSystem, requestedTargets: Array.Empty(), graph, graphEntryPoints) + { + } + + public CacheContext( + IReadOnlyDictionary pluginSettings, + MSBuildFileSystemBase fileSystem, + IReadOnlyCollection requestedTargets, + ProjectGraph? graph = null, + IReadOnlyCollection? graphEntryPoints = null) { ErrorUtilities.VerifyThrow( (graph != null) ^ (graphEntryPoints != null), @@ -38,6 +50,7 @@ public class CacheContext GraphEntryPoints = graphEntryPoints; MSBuildExePath = BuildEnvironmentHelper.Instance.CurrentMSBuildExePath; FileSystem = fileSystem; + RequestedTargets = requestedTargets; } } } diff --git a/src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs b/src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs index 4d695e99076..e53d28292d1 100644 --- a/src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs +++ b/src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs @@ -95,7 +95,10 @@ private DefaultMSBuildFileSystem() /// /// Optimization which frontloads plugin initialization since we have an entire graph. /// - public void InitializePluginsForGraph(ProjectGraph projectGraph, CancellationToken cancellationToken) + public void InitializePluginsForGraph( + ProjectGraph projectGraph, + ICollection requestedTargets, + CancellationToken cancellationToken) { EnsureNotDisposed(); @@ -111,7 +114,7 @@ public void InitializePluginsForGraph(ProjectGraph projectGraph, CancellationTok foreach (ProjectCacheDescriptor projectCacheDescriptor in GetProjectCacheDescriptors(node.ProjectInstance)) { // Intentionally fire-and-forget to asynchronously initialize the plugin. Any exceptions will bubble up later when querying. - _ = GetProjectCachePluginAsync(projectCacheDescriptor, projectGraph, buildRequestConfiguration: null, cancellationToken) + _ = GetProjectCachePluginAsync(projectCacheDescriptor, projectGraph, buildRequestConfiguration: null, requestedTargets, cancellationToken) .ContinueWith(t => { }, TaskContinuationOptions.ExecuteSynchronously | TaskContinuationOptions.OnlyOnFaulted); } }); @@ -122,6 +125,7 @@ public void InitializePluginsForGraph(ProjectGraph projectGraph, CancellationTok public void InitializePluginsForVsScenario( IEnumerable projectCacheDescriptors, BuildRequestConfiguration buildRequestConfiguration, + ICollection requestedTargets, CancellationToken cancellationToken) { EnsureNotDisposed(); @@ -144,7 +148,7 @@ public void InitializePluginsForGraph(ProjectGraph projectGraph, CancellationTok projectCacheDescriptor => { // Intentionally fire-and-forget to asynchronously initialize the plugin. Any exceptions will bubble up later when querying. - _ = GetProjectCachePluginAsync(projectCacheDescriptor, projectGraph: null, buildRequestConfiguration, cancellationToken) + _ = GetProjectCachePluginAsync(projectCacheDescriptor, projectGraph: null, buildRequestConfiguration, requestedTargets, cancellationToken) .ContinueWith(t => { }, TaskContinuationOptions.ExecuteSynchronously | TaskContinuationOptions.OnlyOnFaulted); }); }, @@ -155,12 +159,13 @@ public void InitializePluginsForGraph(ProjectGraph projectGraph, CancellationTok ProjectCacheDescriptor projectCacheDescriptor, ProjectGraph? projectGraph, BuildRequestConfiguration? buildRequestConfiguration, + ICollection requestedTargets, CancellationToken cancellationToken) => _projectCachePlugins.GetOrAdd( projectCacheDescriptor, // The use of Lazy is because ConcurrentDictionary doesn't guarantee the value factory executes only once if there are multiple simultaneous callers, // so this ensures that CreateAndInitializePluginAsync is only called exactly once. - descriptor => new Lazy>(() => CreateAndInitializePluginAsync(descriptor, projectGraph, buildRequestConfiguration, cancellationToken))) + descriptor => new Lazy>(() => CreateAndInitializePluginAsync(descriptor, projectGraph, buildRequestConfiguration, requestedTargets, cancellationToken))) .Value; private IEnumerable GetProjectCacheDescriptors(ProjectInstance projectInstance) @@ -189,6 +194,7 @@ private IEnumerable GetProjectCacheDescriptors(ProjectIn ProjectCacheDescriptor projectCacheDescriptor, ProjectGraph? projectGraph, BuildRequestConfiguration? buildRequestConfiguration, + ICollection requestedTargets, CancellationToken cancellationToken) { BuildEventContext buildEventContext = BuildEventContext.Invalid; @@ -241,6 +247,9 @@ private IEnumerable GetProjectCacheDescriptors(ProjectIn ? GetGraphEntryPoints(buildRequestConfiguration) : null; + // In practice, the underlying type of the ICollection is a List so attempt to cast first + IReadOnlyList requestedTargetsList = requestedTargets as List ?? requestedTargets.ToList(); + _loggingService.LogComment(buildEventContext, MessageImportance.High, "LoadingProjectCachePlugin", pluginTypeName); MSBuildEventSource.Log.ProjectCacheBeginBuildStart(pluginTypeName); @@ -250,6 +259,7 @@ private IEnumerable GetProjectCacheDescriptors(ProjectIn new CacheContext( projectCacheDescriptor.PluginSettings, DefaultMSBuildFileSystem.Instance, + requestedTargetsList, projectGraph, graphEntryPoints), pluginLogger, @@ -517,7 +527,8 @@ private async Task GetCacheResultAsync(BuildRequestData buildReques continue; } - ProjectCachePlugin plugin = await GetProjectCachePluginAsync(projectCacheDescriptor, projectGraph: null, buildRequestConfiguration, cancellationToken); + ICollection requestedTargetsList = buildRequestConfiguration.RequestedTargets as ICollection ?? buildRequestConfiguration.RequestedTargets.ToList(); + ProjectCachePlugin plugin = await GetProjectCachePluginAsync(projectCacheDescriptor, projectGraph: null, buildRequestConfiguration, requestedTargetsList, cancellationToken); try { // Rethrow any initialization exception. From 62eecc571aee494799ac414d52df50fd3f32da45 Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Fri, 5 Jan 2024 16:04:03 -0600 Subject: [PATCH 03/10] Version bump to 17.9.3 --- eng/Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Versions.props b/eng/Versions.props index c11746584e4..18e69402603 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -2,7 +2,7 @@ - 17.9.2 + 17.9.3 release 17.8.3 15.1.0.0 From b79c1c7bc60d17b43b11dd7af307fab4a8039bfa Mon Sep 17 00:00:00 2001 From: Sujit Nayak Date: Tue, 9 Jan 2024 10:35:42 -0800 Subject: [PATCH 04/10] for c/r --- src/Tasks/Microsoft.Common.CurrentVersion.targets | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Tasks/Microsoft.Common.CurrentVersion.targets b/src/Tasks/Microsoft.Common.CurrentVersion.targets index d6bd6a825b7..c3d092cf024 100644 --- a/src/Tasks/Microsoft.Common.CurrentVersion.targets +++ b/src/Tasks/Microsoft.Common.CurrentVersion.targets @@ -4479,7 +4479,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. either have the .exe/.dll extension or their publish status has been overriden in VS so they will show up in the PublishFiles collection. The PublishProtocol property is available only in .NET>=5 so we will used that to exclude .NET FX 4.X case. --> - <_ClickOnceTransitiveContentItemsTemp Include="@(_TransitiveItemsToCopyToOutputDirectory->'%(TargetPath)')" Condition="'$(PublishProtocol)' == 'ClickOnce' AND '%(_TransitiveItemsToCopyToOutputDirectory.CopyToPublishDirectory)' != 'Never'" > + <_ClickOnceTransitiveContentItemsTemp Include="@(_TransitiveItemsToCopyToOutputDirectory->WithoutMetadataValue('CopyToPublishDirectory', 'Never')->'%(TargetPath)')" Condition="'$(PublishProtocol)' == 'ClickOnce'" > %(Identity) <_ClickOnceTransitiveContentItems Include="@(_ClickOnceTransitiveContentItemsTemp->'%(SavedIdentity)')" Condition="'%(Identity)'=='@(PublishFile)' Or '%(Extension)'=='.exe' Or '%(Extension)'=='.dll'" /> @@ -4488,7 +4488,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. ClickOnce content items is union of transitive content items and content items from this project. We also exclude content items from this project that have set CopyToPublishDirectory to Never. --> - <_ClickOnceContentItems Include="@(ContentWithTargetPath)" Condition="'%(ContentWithTargetPath.CopyToPublishDirectory)' != 'Never'" /> + <_ClickOnceContentItems Include="@(ContentWithTargetPath->WithoutMetadataValue('CopyToPublishDirectory', 'Never'))" /> <_ClickOnceContentItems Include="@(_ClickOnceTransitiveContentItems)" /> - <_ClickOnceNoneItemsTemp Include="@(_NoneWithTargetPath->'%(TargetPath)')" Condition="'$(PublishProtocol)'=='Clickonce' And '%(_NoneWithTargetPath.CopyToPublishDirectory)' != 'Never' And ('%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' or '%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest')"> + <_ClickOnceNoneItemsTemp Include="@(_NoneWithTargetPath->WithoutMetadataValue('CopyToPublishDirectory', 'Never')->'%(TargetPath)')" Condition="'$(PublishProtocol)'=='Clickonce' And ('%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' or '%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest')"> %(Identity) <_ClickOnceNoneItems Include="@(_ClickOnceNoneItemsTemp->'%(SavedIdentity)')" Condition="'%(Identity)'=='@(PublishFile)' Or '%(Extension)'=='.exe' Or '%(Extension)'=='.dll'" /> <_ClickOnceFiles Include="@(_ClickOnceContentItems);@(_DeploymentManifestIconFile);@(AppConfigWithTargetPath);@(NetCoreRuntimeJsonFilesForClickOnce);@(_ClickOnceRuntimeCopyLocalItems);@(_ClickOnceNoneItems)" /> + + + <_ClickOnceNoneItemsTemp Remove="@(_ClickOnceNoneItemsTemp)"/> + <_ClickOnceNoneItems Remove="@(_ClickOnceNoneItems)"/> + <_ClickOnceTransitiveContentItemsTemp Remove="@(_ClickOnceTransitiveContentItemsTemp)"/> + <_ClickOnceTransitiveContentItems Remove="@(_ClickOnceTransitiveContentItems)"/> + <_ClickOnceContentItems Remove="@(_ClickOnceContentItems)"/> + <_ClickOnceRuntimeCopyLocalItems Remove="@(_ClickOnceRuntimeCopyLocalItems)"/> From 2ec2a1e028e501c16006b60df52b98db190eccbd Mon Sep 17 00:00:00 2001 From: David Federman Date: Tue, 9 Jan 2024 11:00:30 -0800 Subject: [PATCH 05/10] Add FileAccessData Id and CorrelationId --- .../BackEnd/TaskHostTaskComplete_Tests.cs | 6 +++-- .../Communications/DetouredNodeLauncher.cs | 2 ++ src/Build/FileAccess/FileAccessData.cs | 27 +++++++++++++++++-- 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/src/Build.UnitTests/BackEnd/TaskHostTaskComplete_Tests.cs b/src/Build.UnitTests/BackEnd/TaskHostTaskComplete_Tests.cs index 23cf234576d..b6b6025441b 100644 --- a/src/Build.UnitTests/BackEnd/TaskHostTaskComplete_Tests.cs +++ b/src/Build.UnitTests/BackEnd/TaskHostTaskComplete_Tests.cs @@ -32,8 +32,10 @@ public void TestConstructors() new FileAccessData( ReportedFileOperation.CreateFile, RequestedAccess.Read, - 0, - 0, + processId: 123, + id: 1, + correlationId: 0, + error: 0, DesiredAccess.GENERIC_READ, FlagsAndAttributes.FILE_ATTRIBUTE_NORMAL, "foo", diff --git a/src/Build/BackEnd/Components/Communications/DetouredNodeLauncher.cs b/src/Build/BackEnd/Components/Communications/DetouredNodeLauncher.cs index a10c7b4eb8b..8bfb43b1ecb 100644 --- a/src/Build/BackEnd/Components/Communications/DetouredNodeLauncher.cs +++ b/src/Build/BackEnd/Components/Communications/DetouredNodeLauncher.cs @@ -173,6 +173,8 @@ public override void HandleDebugMessage(DebugData debugData) (Experimental.FileAccess.ReportedFileOperation)fileAccessData.Operation, (Experimental.FileAccess.RequestedAccess)fileAccessData.RequestedAccess, fileAccessData.ProcessId, + fileAccessData.Id, + fileAccessData.CorrelationId, fileAccessData.Error, (Experimental.FileAccess.DesiredAccess)fileAccessData.DesiredAccess, (Experimental.FileAccess.FlagsAndAttributes)fileAccessData.FlagsAndAttributes, diff --git a/src/Build/FileAccess/FileAccessData.cs b/src/Build/FileAccess/FileAccessData.cs index 64cd45a92d4..7d66385def7 100644 --- a/src/Build/FileAccess/FileAccessData.cs +++ b/src/Build/FileAccess/FileAccessData.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. using System; - using Microsoft.Build.BackEnd; namespace Microsoft.Build.Experimental.FileAccess @@ -17,6 +16,8 @@ public struct FileAccessData private ReportedFileOperation _operation; private RequestedAccess _requestedAccess; private uint _processId; + private uint _id; + private uint _correlationId; private uint _error; private DesiredAccess _desiredAccess; private FlagsAndAttributes _flagsAndAttributes; @@ -28,6 +29,8 @@ public struct FileAccessData ReportedFileOperation operation, RequestedAccess requestedAccess, uint processId, + uint id, + uint correlationId, uint error, DesiredAccess desiredAccess, FlagsAndAttributes flagsAndAttributes, @@ -38,6 +41,8 @@ public struct FileAccessData _operation = operation; _requestedAccess = requestedAccess; _processId = processId; + _id = id; + _correlationId = correlationId; _error = error; _desiredAccess = desiredAccess; _flagsAndAttributes = flagsAndAttributes; @@ -56,7 +61,7 @@ public ReportedFileOperation Operation /// The requested access. public RequestedAccess RequestedAccess { - get => _requestedAccess; + readonly get => _requestedAccess; private set => _requestedAccess = value; } @@ -67,6 +72,22 @@ public uint ProcessId private set => _processId = value; } + /// Id of file access. + public uint Id + { + readonly get => _id; + private set => _id = value; + } + + + /// Correlation id of file access. + public uint CorrelationId + { + readonly get => _correlationId; + private set => _correlationId = value; + } + + /// The error code of the operation. public uint Error { @@ -114,6 +135,8 @@ void ITranslatable.Translate(ITranslator translator) translator.TranslateEnum(ref _operation, (int)_operation); translator.TranslateEnum(ref _requestedAccess, (int)_requestedAccess); translator.Translate(ref _processId); + translator.Translate(ref _id); + translator.Translate(ref _correlationId); translator.Translate(ref _error); translator.TranslateEnum(ref _desiredAccess, (int)_desiredAccess); translator.TranslateEnum(ref _flagsAndAttributes, (int)_flagsAndAttributes); From 671d929f38379ae71f20671d57bab51783a43e79 Mon Sep 17 00:00:00 2001 From: dfederm Date: Tue, 9 Jan 2024 13:12:13 -0800 Subject: [PATCH 06/10] Suppress API compat --- src/Build/CompatibilitySuppressions.xml | 32 +++++++++++++++++++++ src/Framework/CompatibilitySuppressions.xml | 9 ++---- src/Tasks/CompatibilitySuppressions.xml | 14 ++------- src/Utilities/CompatibilitySuppressions.xml | 9 ++---- 4 files changed, 38 insertions(+), 26 deletions(-) create mode 100644 src/Build/CompatibilitySuppressions.xml diff --git a/src/Build/CompatibilitySuppressions.xml b/src/Build/CompatibilitySuppressions.xml new file mode 100644 index 00000000000..3103304beec --- /dev/null +++ b/src/Build/CompatibilitySuppressions.xml @@ -0,0 +1,32 @@ + + + + + CP0002 + M:Microsoft.Build.Experimental.FileAccess.FileAccessData.#ctor(Microsoft.Build.Experimental.FileAccess.ReportedFileOperation,Microsoft.Build.Experimental.FileAccess.RequestedAccess,System.UInt32,System.UInt32,Microsoft.Build.Experimental.FileAccess.DesiredAccess,Microsoft.Build.Experimental.FileAccess.FlagsAndAttributes,System.String,System.String,System.Boolean) + lib/net472/Microsoft.Build.dll + lib/net472/Microsoft.Build.dll + true + + + CP0002 + M:Microsoft.Build.Experimental.FileAccess.FileAccessData.#ctor(Microsoft.Build.Experimental.FileAccess.ReportedFileOperation,Microsoft.Build.Experimental.FileAccess.RequestedAccess,System.UInt32,System.UInt32,Microsoft.Build.Experimental.FileAccess.DesiredAccess,Microsoft.Build.Experimental.FileAccess.FlagsAndAttributes,System.String,System.String,System.Boolean) + lib/net8.0/Microsoft.Build.dll + lib/net8.0/Microsoft.Build.dll + true + + + CP0002 + M:Microsoft.Build.Experimental.FileAccess.FileAccessData.#ctor(Microsoft.Build.Experimental.FileAccess.ReportedFileOperation,Microsoft.Build.Experimental.FileAccess.RequestedAccess,System.UInt32,System.UInt32,Microsoft.Build.Experimental.FileAccess.DesiredAccess,Microsoft.Build.Experimental.FileAccess.FlagsAndAttributes,System.String,System.String,System.Boolean) + ref/net472/Microsoft.Build.dll + ref/net472/Microsoft.Build.dll + true + + + CP0002 + M:Microsoft.Build.Experimental.FileAccess.FileAccessData.#ctor(Microsoft.Build.Experimental.FileAccess.ReportedFileOperation,Microsoft.Build.Experimental.FileAccess.RequestedAccess,System.UInt32,System.UInt32,Microsoft.Build.Experimental.FileAccess.DesiredAccess,Microsoft.Build.Experimental.FileAccess.FlagsAndAttributes,System.String,System.String,System.Boolean) + ref/net8.0/Microsoft.Build.dll + ref/net8.0/Microsoft.Build.dll + true + + \ No newline at end of file diff --git a/src/Framework/CompatibilitySuppressions.xml b/src/Framework/CompatibilitySuppressions.xml index 2545a39b99a..e45d8b2d23e 100644 --- a/src/Framework/CompatibilitySuppressions.xml +++ b/src/Framework/CompatibilitySuppressions.xml @@ -1,11 +1,6 @@  - - + PKV004 .NETCoreApp,Version=v2.0 @@ -54,4 +49,4 @@ PKV004 Xamarin.XboxOne,Version=v0.0 - + \ No newline at end of file diff --git a/src/Tasks/CompatibilitySuppressions.xml b/src/Tasks/CompatibilitySuppressions.xml index 9647c21c161..fc1bc1328af 100644 --- a/src/Tasks/CompatibilitySuppressions.xml +++ b/src/Tasks/CompatibilitySuppressions.xml @@ -1,10 +1,6 @@  - - + CP0007 T:Microsoft.Build.Tasks.AL @@ -71,12 +67,6 @@ ref/netstandard2.0/Microsoft.Build.Tasks.Core.dll ref/net472/Microsoft.Build.Tasks.Core.dll - - PKV004 .NETCoreApp,Version=v2.0 @@ -125,4 +115,4 @@ PKV004 Xamarin.XboxOne,Version=v0.0 - + \ No newline at end of file diff --git a/src/Utilities/CompatibilitySuppressions.xml b/src/Utilities/CompatibilitySuppressions.xml index 2545a39b99a..e45d8b2d23e 100644 --- a/src/Utilities/CompatibilitySuppressions.xml +++ b/src/Utilities/CompatibilitySuppressions.xml @@ -1,11 +1,6 @@  - - + PKV004 .NETCoreApp,Version=v2.0 @@ -54,4 +49,4 @@ PKV004 Xamarin.XboxOne,Version=v0.0 - + \ No newline at end of file From 6686f7b086976ac519d616c89db0ae777bb30530 Mon Sep 17 00:00:00 2001 From: dfederm Date: Tue, 9 Jan 2024 13:16:11 -0800 Subject: [PATCH 07/10] Revert files I didn't mean to change --- src/Framework/CompatibilitySuppressions.xml | 9 +++++++-- src/Tasks/CompatibilitySuppressions.xml | 14 ++++++++++++-- src/Utilities/CompatibilitySuppressions.xml | 9 +++++++-- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/Framework/CompatibilitySuppressions.xml b/src/Framework/CompatibilitySuppressions.xml index e45d8b2d23e..2545a39b99a 100644 --- a/src/Framework/CompatibilitySuppressions.xml +++ b/src/Framework/CompatibilitySuppressions.xml @@ -1,6 +1,11 @@  - + + PKV004 .NETCoreApp,Version=v2.0 @@ -49,4 +54,4 @@ PKV004 Xamarin.XboxOne,Version=v0.0 - \ No newline at end of file + diff --git a/src/Tasks/CompatibilitySuppressions.xml b/src/Tasks/CompatibilitySuppressions.xml index fc1bc1328af..9647c21c161 100644 --- a/src/Tasks/CompatibilitySuppressions.xml +++ b/src/Tasks/CompatibilitySuppressions.xml @@ -1,6 +1,10 @@  - + + CP0007 T:Microsoft.Build.Tasks.AL @@ -67,6 +71,12 @@ ref/netstandard2.0/Microsoft.Build.Tasks.Core.dll ref/net472/Microsoft.Build.Tasks.Core.dll + + PKV004 .NETCoreApp,Version=v2.0 @@ -115,4 +125,4 @@ PKV004 Xamarin.XboxOne,Version=v0.0 - \ No newline at end of file + diff --git a/src/Utilities/CompatibilitySuppressions.xml b/src/Utilities/CompatibilitySuppressions.xml index e45d8b2d23e..2545a39b99a 100644 --- a/src/Utilities/CompatibilitySuppressions.xml +++ b/src/Utilities/CompatibilitySuppressions.xml @@ -1,6 +1,11 @@  - + + PKV004 .NETCoreApp,Version=v2.0 @@ -49,4 +54,4 @@ PKV004 Xamarin.XboxOne,Version=v0.0 - \ No newline at end of file + From 019f0f7f1ee9155562d2d8f88c39724fc5b62a2f Mon Sep 17 00:00:00 2001 From: David Federman Date: Fri, 12 Jan 2024 09:39:22 -0800 Subject: [PATCH 08/10] Update src/Build/CompatibilitySuppressions.xml Co-authored-by: Rainer Sigwald --- src/Build/CompatibilitySuppressions.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Build/CompatibilitySuppressions.xml b/src/Build/CompatibilitySuppressions.xml index 3103304beec..eebf61e063c 100644 --- a/src/Build/CompatibilitySuppressions.xml +++ b/src/Build/CompatibilitySuppressions.xml @@ -1,6 +1,7 @@  + CP0002 M:Microsoft.Build.Experimental.FileAccess.FileAccessData.#ctor(Microsoft.Build.Experimental.FileAccess.ReportedFileOperation,Microsoft.Build.Experimental.FileAccess.RequestedAccess,System.UInt32,System.UInt32,Microsoft.Build.Experimental.FileAccess.DesiredAccess,Microsoft.Build.Experimental.FileAccess.FlagsAndAttributes,System.String,System.String,System.Boolean) From 617e6973419d705e6baa7229a4536f3d873ccdec Mon Sep 17 00:00:00 2001 From: Jan Krivanek Date: Thu, 18 Jan 2024 09:18:33 +0100 Subject: [PATCH 09/10] Bump version after recent vs17.9 merges --- eng/Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Versions.props b/eng/Versions.props index 18e69402603..cef2f8c8754 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -2,7 +2,7 @@ - 17.9.3 + 17.9.4 release 17.8.3 15.1.0.0 From 03b1bce20fd49a7e63ad87c6ccf45716e25568ab Mon Sep 17 00:00:00 2001 From: Jan Krivanek Date: Thu, 18 Jan 2024 10:16:50 +0100 Subject: [PATCH 10/10] Formatting changes to prevent unnoticed version merges into main --- eng/Versions.props | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index cef2f8c8754..6839782f0f8 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -2,8 +2,7 @@ - 17.9.4 - release + 17.9.4release 17.8.3 15.1.0.0 preview