diff --git a/eng/dependabot/Packages.props b/eng/dependabot/Packages.props
index 697c4f4ca20..3f87fa86718 100644
--- a/eng/dependabot/Packages.props
+++ b/eng/dependabot/Packages.props
@@ -19,7 +19,7 @@
-
+
diff --git a/src/Build.UnitTests/BackEnd/TaskHostTaskComplete_Tests.cs b/src/Build.UnitTests/BackEnd/TaskHostTaskComplete_Tests.cs
index 9fba141c3a3..7504cd8bb3d 100644
--- a/src/Build.UnitTests/BackEnd/TaskHostTaskComplete_Tests.cs
+++ b/src/Build.UnitTests/BackEnd/TaskHostTaskComplete_Tests.cs
@@ -5,7 +5,7 @@
using System.Collections.Generic;
using Microsoft.Build.BackEnd;
using Microsoft.Build.Framework;
-using Microsoft.Build.Framework.FileAccess;
+using Microsoft.Build.Experimental.FileAccess;
using Microsoft.Build.Shared;
using Microsoft.Build.Utilities;
using Xunit;
diff --git a/src/Build/BackEnd/Components/Communications/DetouredNodeLauncher.cs b/src/Build/BackEnd/Components/Communications/DetouredNodeLauncher.cs
index d34bf7c9eec..944334e0c9f 100644
--- a/src/Build/BackEnd/Components/Communications/DetouredNodeLauncher.cs
+++ b/src/Build/BackEnd/Components/Communications/DetouredNodeLauncher.cs
@@ -10,6 +10,7 @@
using BuildXL.Processes;
using BuildXL.Utilities.Core;
using Microsoft.Build.Exceptions;
+using Microsoft.Build.Experimental.FileAccess;
using Microsoft.Build.FileAccesses;
using Microsoft.Build.Internal;
using Microsoft.Build.Shared;
@@ -160,20 +161,20 @@ public override void HandleDebugMessage(DebugData debugData)
}
public override void HandleFileAccess(FileAccessData fileAccessData) => _fileAccessManager.ReportFileAccess(
- new Framework.FileAccess.FileAccessData(
- (Framework.FileAccess.ReportedFileOperation)fileAccessData.Operation,
- (Framework.FileAccess.RequestedAccess)fileAccessData.RequestedAccess,
+ new Experimental.FileAccess.FileAccessData(
+ (Experimental.FileAccess.ReportedFileOperation)fileAccessData.Operation,
+ (Experimental.FileAccess.RequestedAccess)fileAccessData.RequestedAccess,
fileAccessData.ProcessId,
fileAccessData.Error,
- (Framework.FileAccess.DesiredAccess)fileAccessData.DesiredAccess,
- (Framework.FileAccess.FlagsAndAttributes)fileAccessData.FlagsAndAttributes,
+ (Experimental.FileAccess.DesiredAccess)fileAccessData.DesiredAccess,
+ (Experimental.FileAccess.FlagsAndAttributes)fileAccessData.FlagsAndAttributes,
fileAccessData.Path,
fileAccessData.ProcessArgs,
fileAccessData.IsAnAugmentedFileAccess),
_nodeId);
public override void HandleProcessData(ProcessData processData) => _fileAccessManager.ReportProcess(
- new Framework.FileAccess.ProcessData(
+ new Experimental.FileAccess.ProcessData(
processData.ProcessName,
processData.ProcessId,
processData.ParentProcessId,
diff --git a/src/Build/BackEnd/Components/FileAccesses/FileAccessManager.cs b/src/Build/BackEnd/Components/FileAccesses/FileAccessManager.cs
index efbe32a0f64..6943ff208e0 100644
--- a/src/Build/BackEnd/Components/FileAccesses/FileAccessManager.cs
+++ b/src/Build/BackEnd/Components/FileAccesses/FileAccessManager.cs
@@ -9,7 +9,7 @@
using System.Threading;
using Microsoft.Build.BackEnd;
using Microsoft.Build.Execution;
-using Microsoft.Build.Framework.FileAccess;
+using Microsoft.Build.Experimental.FileAccess;
using Microsoft.Build.Shared;
namespace Microsoft.Build.FileAccesses
diff --git a/src/Build/BackEnd/Components/FileAccesses/FileAccessReport.cs b/src/Build/BackEnd/Components/FileAccesses/FileAccessReport.cs
index f69b6fd1580..72ce0107921 100644
--- a/src/Build/BackEnd/Components/FileAccesses/FileAccessReport.cs
+++ b/src/Build/BackEnd/Components/FileAccesses/FileAccessReport.cs
@@ -2,7 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using Microsoft.Build.BackEnd;
-using Microsoft.Build.Framework.FileAccess;
+using Microsoft.Build.Experimental.FileAccess;
namespace Microsoft.Build.FileAccesses
{
diff --git a/src/Build/BackEnd/Components/FileAccesses/IFileAccessManager.cs b/src/Build/BackEnd/Components/FileAccesses/IFileAccessManager.cs
index 3dd724afef3..dd3b7685053 100644
--- a/src/Build/BackEnd/Components/FileAccesses/IFileAccessManager.cs
+++ b/src/Build/BackEnd/Components/FileAccesses/IFileAccessManager.cs
@@ -5,7 +5,7 @@
using System;
using System.Threading;
using Microsoft.Build.BackEnd;
-using Microsoft.Build.Framework.FileAccess;
+using Microsoft.Build.Experimental.FileAccess;
namespace Microsoft.Build.FileAccesses
{
diff --git a/src/Build/BackEnd/Components/FileAccesses/OutOfProcNodeFileAccessManager.cs b/src/Build/BackEnd/Components/FileAccesses/OutOfProcNodeFileAccessManager.cs
index 80255059350..e211f674789 100644
--- a/src/Build/BackEnd/Components/FileAccesses/OutOfProcNodeFileAccessManager.cs
+++ b/src/Build/BackEnd/Components/FileAccesses/OutOfProcNodeFileAccessManager.cs
@@ -5,7 +5,7 @@
using System;
using System.Threading;
using Microsoft.Build.BackEnd;
-using Microsoft.Build.Framework.FileAccess;
+using Microsoft.Build.Experimental.FileAccess;
using Microsoft.Build.Shared;
namespace Microsoft.Build.FileAccesses
diff --git a/src/Build/BackEnd/Components/FileAccesses/ProcessReport.cs b/src/Build/BackEnd/Components/FileAccesses/ProcessReport.cs
index 89bf533ed86..f8d891fe532 100644
--- a/src/Build/BackEnd/Components/FileAccesses/ProcessReport.cs
+++ b/src/Build/BackEnd/Components/FileAccesses/ProcessReport.cs
@@ -2,7 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using Microsoft.Build.BackEnd;
-using Microsoft.Build.Framework.FileAccess;
+using Microsoft.Build.Experimental.FileAccess;
namespace Microsoft.Build.FileAccesses
{
diff --git a/src/Build/BackEnd/Components/ProjectCache/ProjectCachePluginBase.cs b/src/Build/BackEnd/Components/ProjectCache/ProjectCachePluginBase.cs
index eb55d482ba0..6c999cfcf53 100644
--- a/src/Build/BackEnd/Components/ProjectCache/ProjectCachePluginBase.cs
+++ b/src/Build/BackEnd/Components/ProjectCache/ProjectCachePluginBase.cs
@@ -5,7 +5,7 @@
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Build.Execution;
-using Microsoft.Build.Framework.FileAccess;
+using Microsoft.Build.Experimental.FileAccess;
namespace Microsoft.Build.Experimental.ProjectCache
{
diff --git a/src/Build/BackEnd/Components/RequestBuilder/TaskHost.cs b/src/Build/BackEnd/Components/RequestBuilder/TaskHost.cs
index 0d67e69b661..569a498e1cd 100644
--- a/src/Build/BackEnd/Components/RequestBuilder/TaskHost.cs
+++ b/src/Build/BackEnd/Components/RequestBuilder/TaskHost.cs
@@ -19,7 +19,7 @@
using Microsoft.Build.Execution;
using Microsoft.Build.FileAccesses;
using Microsoft.Build.Framework;
-using Microsoft.Build.Framework.FileAccess;
+using Microsoft.Build.Experimental.FileAccess;
using Microsoft.Build.Shared;
using ElementLocation = Microsoft.Build.Construction.ElementLocation;
using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
@@ -939,17 +939,20 @@ public override bool LogsMessagesOfImportance(MessageImportance importance)
///
public override bool IsTaskInputLoggingEnabled => _taskHost._host.BuildParameters.LogTaskInputs;
- ///
- public override void ReportFileAccess(FileAccessData fileAccessData)
- {
#if FEATURE_REPORTFILEACCESSES
+ ///
+ /// Reports a file access from a task.
+ ///
+ /// The file access to report.
+ public void ReportFileAccess(FileAccessData fileAccessData)
+ {
IBuildComponentHost buildComponentHost = _taskHost._host;
if (buildComponentHost.BuildParameters.ReportFileAccesses)
{
((IFileAccessManager)buildComponentHost.GetComponent(BuildComponentType.FileAccessManager)).ReportFileAccess(fileAccessData, buildComponentHost.BuildParameters.NodeId);
}
-#endif
}
+#endif
}
public EngineServices EngineServices { get; }
diff --git a/src/Build/CompatibilitySuppressions.xml b/src/Build/CompatibilitySuppressions.xml
index 05317adadab..98d38cdf5e8 100644
--- a/src/Build/CompatibilitySuppressions.xml
+++ b/src/Build/CompatibilitySuppressions.xml
@@ -1,4 +1,61 @@
+
+
+ CP0002
+ M:Microsoft.Build.Experimental.ProjectCache.ProjectCachePluginBase.HandleFileAccess(Microsoft.Build.Experimental.ProjectCache.FileAccessContext,Microsoft.Build.Framework.FileAccess.FileAccessData)
+ lib/net472/Microsoft.Build.dll
+ lib/net472/Microsoft.Build.dll
+ true
+
+
+ CP0002
+ M:Microsoft.Build.Experimental.ProjectCache.ProjectCachePluginBase.HandleProcess(Microsoft.Build.Experimental.ProjectCache.FileAccessContext,Microsoft.Build.Framework.FileAccess.ProcessData)
+ lib/net472/Microsoft.Build.dll
+ lib/net472/Microsoft.Build.dll
+ true
+
+
+ CP0002
+ M:Microsoft.Build.Experimental.ProjectCache.ProjectCachePluginBase.HandleFileAccess(Microsoft.Build.Experimental.ProjectCache.FileAccessContext,Microsoft.Build.Framework.FileAccess.FileAccessData)
+ lib/net8.0/Microsoft.Build.dll
+ lib/net8.0/Microsoft.Build.dll
+ true
+
+
+ CP0002
+ M:Microsoft.Build.Experimental.ProjectCache.ProjectCachePluginBase.HandleProcess(Microsoft.Build.Experimental.ProjectCache.FileAccessContext,Microsoft.Build.Framework.FileAccess.ProcessData)
+ lib/net8.0/Microsoft.Build.dll
+ lib/net8.0/Microsoft.Build.dll
+ true
+
+
+ CP0002
+ M:Microsoft.Build.Experimental.ProjectCache.ProjectCachePluginBase.HandleFileAccess(Microsoft.Build.Experimental.ProjectCache.FileAccessContext,Microsoft.Build.Framework.FileAccess.FileAccessData)
+ ref/net472/Microsoft.Build.dll
+ ref/net472/Microsoft.Build.dll
+ true
+
+
+ CP0002
+ M:Microsoft.Build.Experimental.ProjectCache.ProjectCachePluginBase.HandleProcess(Microsoft.Build.Experimental.ProjectCache.FileAccessContext,Microsoft.Build.Framework.FileAccess.ProcessData)
+ ref/net472/Microsoft.Build.dll
+ ref/net472/Microsoft.Build.dll
+ true
+
+
+ CP0002
+ M:Microsoft.Build.Experimental.ProjectCache.ProjectCachePluginBase.HandleFileAccess(Microsoft.Build.Experimental.ProjectCache.FileAccessContext,Microsoft.Build.Framework.FileAccess.FileAccessData)
+ ref/net8.0/Microsoft.Build.dll
+ ref/net8.0/Microsoft.Build.dll
+ true
+
+
+ CP0002
+ M:Microsoft.Build.Experimental.ProjectCache.ProjectCachePluginBase.HandleProcess(Microsoft.Build.Experimental.ProjectCache.FileAccessContext,Microsoft.Build.Framework.FileAccess.ProcessData)
+ ref/net8.0/Microsoft.Build.dll
+ ref/net8.0/Microsoft.Build.dll
+ true
+
diff --git a/src/Framework/FileAccess/DesiredAccess.cs b/src/Build/FileAccess/DesiredAccess.cs
similarity index 98%
rename from src/Framework/FileAccess/DesiredAccess.cs
rename to src/Build/FileAccess/DesiredAccess.cs
index 056c74d6f19..b9bdea98c0f 100644
--- a/src/Framework/FileAccess/DesiredAccess.cs
+++ b/src/Build/FileAccess/DesiredAccess.cs
@@ -3,7 +3,7 @@
using System;
-namespace Microsoft.Build.Framework.FileAccess
+namespace Microsoft.Build.Experimental.FileAccess
{
/*
* Implementation note: This is a copy of BuildXL.Processes.DesiredAccess.
diff --git a/src/Build/FileAccess/FileAccessData.cs b/src/Build/FileAccess/FileAccessData.cs
new file mode 100644
index 00000000000..64cd45a92d4
--- /dev/null
+++ b/src/Build/FileAccess/FileAccessData.cs
@@ -0,0 +1,125 @@
+// 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 Microsoft.Build.BackEnd;
+
+namespace Microsoft.Build.Experimental.FileAccess
+{
+ ///
+ /// File access data.
+ ///
+ [CLSCompliant(false)]
+ public struct FileAccessData
+ : ITranslatable
+ {
+ private ReportedFileOperation _operation;
+ private RequestedAccess _requestedAccess;
+ private uint _processId;
+ private uint _error;
+ private DesiredAccess _desiredAccess;
+ private FlagsAndAttributes _flagsAndAttributes;
+ private string _path;
+ private string? _processArgs;
+ private bool _isAnAugmentedFileAccess;
+
+ public FileAccessData(
+ ReportedFileOperation operation,
+ RequestedAccess requestedAccess,
+ uint processId,
+ uint error,
+ DesiredAccess desiredAccess,
+ FlagsAndAttributes flagsAndAttributes,
+ string path,
+ string? processArgs,
+ bool isAnAugmentedFileAccess)
+ {
+ _operation = operation;
+ _requestedAccess = requestedAccess;
+ _processId = processId;
+ _error = error;
+ _desiredAccess = desiredAccess;
+ _flagsAndAttributes = flagsAndAttributes;
+ _path = path;
+ _processArgs = processArgs;
+ _isAnAugmentedFileAccess = isAnAugmentedFileAccess;
+ }
+
+ /// The operation that performed the file access.
+ public ReportedFileOperation Operation
+ {
+ readonly get => _operation;
+ private set => _operation = value;
+ }
+
+ /// The requested access.
+ public RequestedAccess RequestedAccess
+ {
+ get => _requestedAccess;
+ private set => _requestedAccess = value;
+ }
+
+ /// The process id.
+ public uint ProcessId
+ {
+ readonly get => _processId;
+ private set => _processId = value;
+ }
+
+ /// The error code of the operation.
+ public uint Error
+ {
+ readonly get => _error;
+ private set => _error = value;
+ }
+
+ /// The desired access.
+ public DesiredAccess DesiredAccess
+ {
+ readonly get => _desiredAccess;
+ private set => _desiredAccess = value;
+ }
+
+ /// The file flags and attributes.
+ public FlagsAndAttributes FlagsAndAttributes
+ {
+ readonly get => _flagsAndAttributes;
+ private set => _flagsAndAttributes = value;
+ }
+
+ /// The path being accessed.
+ public string Path
+ {
+ readonly get => _path;
+ private set => _path = value;
+ }
+
+ /// The process arguments.
+ public string? ProcessArgs
+ {
+ readonly get => _processArgs;
+ private set => _processArgs = value;
+ }
+
+ /// Whether the file access is augmented.
+ public bool IsAnAugmentedFileAccess
+ {
+ readonly get => _isAnAugmentedFileAccess;
+ private set => _isAnAugmentedFileAccess = value;
+ }
+
+ void ITranslatable.Translate(ITranslator translator)
+ {
+ translator.TranslateEnum(ref _operation, (int)_operation);
+ translator.TranslateEnum(ref _requestedAccess, (int)_requestedAccess);
+ translator.Translate(ref _processId);
+ translator.Translate(ref _error);
+ translator.TranslateEnum(ref _desiredAccess, (int)_desiredAccess);
+ translator.TranslateEnum(ref _flagsAndAttributes, (int)_flagsAndAttributes);
+ translator.Translate(ref _path);
+ translator.Translate(ref _processArgs);
+ translator.Translate(ref _isAnAugmentedFileAccess);
+ }
+ }
+}
diff --git a/src/Framework/FileAccess/FlagsAndAttributes.cs b/src/Build/FileAccess/FlagsAndAttributes.cs
similarity index 99%
rename from src/Framework/FileAccess/FlagsAndAttributes.cs
rename to src/Build/FileAccess/FlagsAndAttributes.cs
index 8b01f48106f..c02ca45a969 100644
--- a/src/Framework/FileAccess/FlagsAndAttributes.cs
+++ b/src/Build/FileAccess/FlagsAndAttributes.cs
@@ -3,7 +3,7 @@
using System;
-namespace Microsoft.Build.Framework.FileAccess
+namespace Microsoft.Build.Experimental.FileAccess
{
/*
* Implementation note: This is a copy of BuildXL.Processes.FlagsAndAttributes.
diff --git a/src/Build/FileAccess/ProcessData.cs b/src/Build/FileAccess/ProcessData.cs
new file mode 100644
index 00000000000..aa274054545
--- /dev/null
+++ b/src/Build/FileAccess/ProcessData.cs
@@ -0,0 +1,85 @@
+// 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 Microsoft.Build.BackEnd;
+
+namespace Microsoft.Build.Experimental.FileAccess
+{
+ ///
+ /// Process data.
+ ///
+ [CLSCompliant(false)]
+ public struct ProcessData : ITranslatable
+ {
+ private string _processName;
+ private uint _processId;
+ private uint _parentProcessId;
+ private DateTime _creationDateTime;
+ private DateTime _exitDateTime;
+ private uint _exitCode;
+
+ public ProcessData(string processName, uint processId, uint parentProcessId, DateTime creationDateTime, DateTime exitDateTime, uint exitCode)
+ {
+ _processName = processName;
+ _processId = processId;
+ _parentProcessId = parentProcessId;
+ _creationDateTime = creationDateTime;
+ _exitDateTime = exitDateTime;
+ _exitCode = exitCode;
+ }
+
+ /// The process name.
+ public string ProcessName
+ {
+ get => _processName;
+ private set => _processName = value;
+ }
+
+ /// The process id.
+ public uint ProcessId
+ {
+ get => _processId;
+ private set => _processId = value;
+ }
+
+ /// The parent process id.
+ public uint ParentProcessId
+ {
+ get => _parentProcessId;
+ private set => _parentProcessId = value;
+ }
+
+ /// The creation date time.
+ public DateTime CreationDateTime
+ {
+ get => _creationDateTime;
+ private set => _creationDateTime = value;
+ }
+
+ /// The exit date time.
+ public DateTime ExitDateTime
+ {
+ get => _exitDateTime;
+ private set => _exitDateTime = value;
+ }
+
+ /// The exit code.
+ public uint ExitCode
+ {
+ get => _exitCode;
+ private set => _exitCode = value;
+ }
+
+ void ITranslatable.Translate(ITranslator translator)
+ {
+ translator.Translate(ref _processName);
+ translator.Translate(ref _processId);
+ translator.Translate(ref _parentProcessId);
+ translator.Translate(ref _creationDateTime);
+ translator.Translate(ref _exitDateTime);
+ translator.Translate(ref _exitCode);
+ }
+ }
+}
diff --git a/src/Framework/FileAccess/ReportedFileOperation.cs b/src/Build/FileAccess/ReportedFileOperation.cs
similarity index 98%
rename from src/Framework/FileAccess/ReportedFileOperation.cs
rename to src/Build/FileAccess/ReportedFileOperation.cs
index 22e90c56cea..c3b846cedde 100644
--- a/src/Framework/FileAccess/ReportedFileOperation.cs
+++ b/src/Build/FileAccess/ReportedFileOperation.cs
@@ -1,7 +1,7 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-namespace Microsoft.Build.Framework.FileAccess
+namespace Microsoft.Build.Experimental.FileAccess
{
/*
* Implementation note: This is a copy of BuildXL.Processes.ReportedFileOperation.
@@ -186,7 +186,7 @@ public enum ReportedFileOperation : byte
///
/// This is a quasi operation. The sandbox issues this only when FileAccessPolicy.OverrideAllowWriteForExistingFiles is set, representing
- /// that an allow for write check was performed for a given path for the first time (in the scope of a process, another process in the same process
+ /// that an allow for write check was performed for a given path for the first time (in the scope of a process, another process in the same process
/// tree may also report this for the same path).
///
FirstAllowWriteCheckInProcess,
diff --git a/src/Framework/FileAccess/RequestedAccess.cs b/src/Build/FileAccess/RequestedAccess.cs
similarity index 97%
rename from src/Framework/FileAccess/RequestedAccess.cs
rename to src/Build/FileAccess/RequestedAccess.cs
index b522571460f..e0e83f176ed 100644
--- a/src/Framework/FileAccess/RequestedAccess.cs
+++ b/src/Build/FileAccess/RequestedAccess.cs
@@ -3,7 +3,7 @@
using System;
-namespace Microsoft.Build.Framework.FileAccess
+namespace Microsoft.Build.Experimental.FileAccess
{
/*
* Implementation note: This is a copy of BuildXL.Processes.RequestedAccess.
diff --git a/src/Build/Instance/TaskFactories/TaskHostTask.cs b/src/Build/Instance/TaskFactories/TaskHostTask.cs
index a77509a9120..09bbe0eb985 100644
--- a/src/Build/Instance/TaskFactories/TaskHostTask.cs
+++ b/src/Build/Instance/TaskFactories/TaskHostTask.cs
@@ -11,7 +11,7 @@
using Microsoft.Build.Exceptions;
using Microsoft.Build.FileAccesses;
using Microsoft.Build.Framework;
-using Microsoft.Build.Framework.FileAccess;
+using Microsoft.Build.Experimental.FileAccess;
using Microsoft.Build.Internal;
using Microsoft.Build.Shared;
diff --git a/src/Build/Microsoft.Build.csproj b/src/Build/Microsoft.Build.csproj
index 8b6a56d5713..59fdacae941 100644
--- a/src/Build/Microsoft.Build.csproj
+++ b/src/Build/Microsoft.Build.csproj
@@ -154,6 +154,12 @@
+
+
+
+
+
+
diff --git a/src/Build/Resources/xlf/Strings.cs.xlf b/src/Build/Resources/xlf/Strings.cs.xlf
index e47a6be2f0e..1db6de11f1b 100644
--- a/src/Build/Resources/xlf/Strings.cs.xlf
+++ b/src/Build/Resources/xlf/Strings.cs.xlf
@@ -1485,7 +1485,7 @@
- Vynecháno, protože konfigurace $(AspNetConfiguration) není pro tento webový projekt podporována. Pomocí vlastnosti AspNetConfiguration můžete přepsat konfiguraci používanou k sestavování webových projektů, a to přidáním příkazu /p:AspNetConfiguration=<hodnota> do příkazového řádku. Webové projekty nyní podporují pouze konfigurace Debug a Release.
+ Vynecháno, protože konfigurace "$(AspNetConfiguration)" není pro tento webový projekt podporována. Pomocí vlastnosti AspNetConfiguration můžete přepsat konfiguraci používanou k sestavování webových projektů, a to přidáním příkazu /p:AspNetConfiguration=<hodnota> do příkazového řádku. Webové projekty nyní podporují pouze konfigurace Debug a Release.
UE: This is not an error, so doesn't need an error code.
LOCALIZATION: Do NOT localize "AspNetConfiguration", "Debug", "Release".
diff --git a/src/Build/Resources/xlf/Strings.de.xlf b/src/Build/Resources/xlf/Strings.de.xlf
index afc7548add2..69cc59f2ece 100644
--- a/src/Build/Resources/xlf/Strings.de.xlf
+++ b/src/Build/Resources/xlf/Strings.de.xlf
@@ -477,7 +477,7 @@
- Dies ist eine nicht behandelte Ausnahme in MSBuild. RUFEN SIE EIN VORHANDENES PROBLEM AUF, ODER ERSTELLEN SIE EIN NEUES UNTER https://aka.ms/msbuild/unhandled
+ Dies ist ein Ausnahmefehler in MSBuild. STIMMEN SIE EINEM VORHANDENEN ISSUE ZU, ODER ERSTELLEN SIE EIN NEUES ISSUE UNTER https://aka.ms/msbuild/unhandled
{0}
diff --git a/src/Build/Resources/xlf/Strings.fr.xlf b/src/Build/Resources/xlf/Strings.fr.xlf
index 1a7b7f44d73..bac1148e509 100644
--- a/src/Build/Resources/xlf/Strings.fr.xlf
+++ b/src/Build/Resources/xlf/Strings.fr.xlf
@@ -477,7 +477,7 @@
- Il s’agit d’une exception non gérée dans MSBuild –– VOTEZ POUR UN PROBLÈME EXISTANT OU ENTREZ UN NOUVEAU FICHIER À https://aka.ms/msbuild/unhandled.
+ Il s’agit d’une exception non prise en charge dans MSBuild –– VOTEZ POUR UN PROBLÈME EXISTANT OU CRÉEZ-EN UN SUR https://aka.ms/msbuild/unhandled
{0}
diff --git a/src/Build/Resources/xlf/Strings.pl.xlf b/src/Build/Resources/xlf/Strings.pl.xlf
index c41c1a12d2b..09c3028c18c 100644
--- a/src/Build/Resources/xlf/Strings.pl.xlf
+++ b/src/Build/Resources/xlf/Strings.pl.xlf
@@ -477,7 +477,7 @@
- Jest to nieobsługiwany wyjątek w aplikacji MSBuild -- ZAGŁOSUJ NA ISTNIEJĄCY PROBLEM LUB ZAGŁOSUJ NA NOWY NA https://aka.ms/msbuild/unhandled.
+ Jest to nieobsługiwany wyjątek na platformie MSBuild -- ZAGŁOSUJ NA ISTNIEJĄCY PROBLEM LUB ZAREJESTRUJ NOWY W WITRYNIE https://aka.ms/msbuild/unhandled.
{0}
diff --git a/src/Build/Resources/xlf/Strings.pt-BR.xlf b/src/Build/Resources/xlf/Strings.pt-BR.xlf
index 56b0d6b36f5..c5b5f835431 100644
--- a/src/Build/Resources/xlf/Strings.pt-BR.xlf
+++ b/src/Build/Resources/xlf/Strings.pt-BR.xlf
@@ -477,7 +477,7 @@
- Esta é uma exceção não tratada no MSBuild -- POR FAVOR, APOIE UM PROBLEMA EXISTENTE OU ARQUIVE UM NOVO EM https://aka.ms/msbuild/unhandled
+ Essa é uma exceção não tratada no MSBuild -- POR FAVOR, ATUALIZE UMA QUESTÃO EXISTENTE OU ENCAMINHE UMA NOVA EM https://aka.ms/msbuild/unhandled
{0}
diff --git a/src/Build/Resources/xlf/Strings.ru.xlf b/src/Build/Resources/xlf/Strings.ru.xlf
index 07817ef4752..1223960482a 100644
--- a/src/Build/Resources/xlf/Strings.ru.xlf
+++ b/src/Build/Resources/xlf/Strings.ru.xlf
@@ -477,7 +477,7 @@
- Это необработанное исключение в MSBuild. Проголосуйте за существующую проблему или сообщите о новой по адресу https://aka.ms/msbuild/unhandled
+ Это необработанное исключение в MSBuild. ПРОГОЛОСУЙТЕ ЗА СУЩЕСТВУЮЩУЮ ПРОБЛЕМУ ИЛИ СООБЩИТЕ О НОВУЙ НА https://aka.ms/msbuild/unhandled
{0}
diff --git a/src/Build/Resources/xlf/Strings.tr.xlf b/src/Build/Resources/xlf/Strings.tr.xlf
index 19239812ab3..7e5d02e1334 100644
--- a/src/Build/Resources/xlf/Strings.tr.xlf
+++ b/src/Build/Resources/xlf/Strings.tr.xlf
@@ -477,7 +477,7 @@
- Bu, MSBuild'de işlenmeyen bir istisnadır -- LÜTFEN MEVCUT BİR SORUNU OYLAYIN VEYA https://aka.ms/msbuild/unhandled ADRESİNDE YENİ BİR SORUN DOSYALAYIN
+ Bu, MSBuild'de işlenmeyen bir istisnadır -- LÜTFEN MEVCUT BİR SORUNU OYLAYIN VEYA https://aka.ms/msbuild/unhandled ADRESİNDE YENİ BİR SORUN OLUŞTURUN
{0}
diff --git a/src/Build/Resources/xlf/Strings.zh-Hans.xlf b/src/Build/Resources/xlf/Strings.zh-Hans.xlf
index 757c28ce80f..be8d710612d 100644
--- a/src/Build/Resources/xlf/Strings.zh-Hans.xlf
+++ b/src/Build/Resources/xlf/Strings.zh-Hans.xlf
@@ -2406,7 +2406,7 @@ Utilization: {0} Average Utilization: {1:###.0}
- MSB4229: 值“{0}”对 Sdk 规范无效。此属性应该是以分号分隔的Sdk-name/minimum-version 对(用正斜杠分隔)的列表。
+ MSB4229: 值“{0}”对 Sdk 规范无效。此属性应该是以分号分隔的Sdk-name/minimum-version 对 (用正斜杠分隔) 的列表。
{StrBegin="MSB4229: "}
diff --git a/src/Framework/BinaryTranslator.cs b/src/Framework/BinaryTranslator.cs
index f5585995802..550f487f8ab 100644
--- a/src/Framework/BinaryTranslator.cs
+++ b/src/Framework/BinaryTranslator.cs
@@ -9,9 +9,6 @@
using System.Runtime.Serialization.Formatters.Binary;
using Microsoft.Build.Framework;
using Microsoft.Build.Framework.BuildException;
-#if !CLR2COMPATIBILITY
-using Microsoft.Build.Framework.FileAccess;
-#endif
#nullable disable
@@ -426,82 +423,6 @@ public void Translate(ref BuildEventContext value)
_reader.ReadInt32(),
_reader.ReadInt32());
}
-
- ///
- public void Translate(ref FileAccessData fileAccessData)
- {
- ReportedFileOperation reportedFileOperation = default;
- RequestedAccess requestedAccess = default;
- uint processId = default;
- uint error = default;
- DesiredAccess desiredAccess = default;
- FlagsAndAttributes flagsAndAttributes = default;
- string path = default;
- string processArgs = default;
- bool isAnAugmentedFileAccess = default;
- TranslateEnum(ref reportedFileOperation, (int)reportedFileOperation);
- TranslateEnum(ref requestedAccess, (int)requestedAccess);
- Translate(ref processId);
- Translate(ref error);
- TranslateEnum(ref desiredAccess, (int)desiredAccess);
- TranslateEnum(ref flagsAndAttributes, (int)flagsAndAttributes);
- Translate(ref path);
- Translate(ref processArgs);
- Translate(ref isAnAugmentedFileAccess);
- fileAccessData = new FileAccessData(
- reportedFileOperation,
- requestedAccess,
- processId,
- error,
- desiredAccess,
- flagsAndAttributes,
- path,
- processArgs,
- isAnAugmentedFileAccess);
- }
-
- ///
- public void Translate(ref List fileAccessDataList)
- {
- if (!TranslateNullable(fileAccessDataList))
- {
- return;
- }
-
- int count = default;
- Translate(ref count);
- fileAccessDataList = new List(count);
- for (int i = 0; i < count; i++)
- {
- FileAccessData fileAccessData = default;
- Translate(ref fileAccessData);
- fileAccessDataList.Add(fileAccessData);
- }
- }
-
- ///
- public void Translate(ref ProcessData processData)
- {
- string processName = default;
- uint processId = default;
- uint parentProcessId = default;
- DateTime creationDateTime = default;
- DateTime exitDateTime = default;
- uint exitCode = default;
- Translate(ref processName);
- Translate(ref processId);
- Translate(ref parentProcessId);
- Translate(ref creationDateTime);
- Translate(ref exitDateTime);
- Translate(ref exitCode);
- processData = new ProcessData(
- processName,
- processId,
- parentProcessId,
- creationDateTime,
- exitDateTime,
- exitCode);
- }
#endif
///
@@ -1186,59 +1107,6 @@ public void Translate(ref BuildEventContext value)
_writer.Write(value.TargetId);
_writer.Write(value.TaskId);
}
-
- ///
- public void Translate(ref FileAccessData fileAccessData)
- {
- ReportedFileOperation reportedFileOperation = fileAccessData.Operation;
- RequestedAccess requestedAccess = fileAccessData.RequestedAccess;
- uint processId = fileAccessData.ProcessId;
- uint error = fileAccessData.Error;
- DesiredAccess desiredAccess = fileAccessData.DesiredAccess;
- FlagsAndAttributes flagsAndAttributes = fileAccessData.FlagsAndAttributes;
- string path = fileAccessData.Path;
- string processArgs = fileAccessData.ProcessArgs;
- bool isAnAugmentedFileAccess = fileAccessData.IsAnAugmentedFileAccess;
- TranslateEnum(ref reportedFileOperation, (int)reportedFileOperation);
- TranslateEnum(ref requestedAccess, (int)requestedAccess);
- Translate(ref processId);
- Translate(ref error);
- TranslateEnum(ref desiredAccess, (int)desiredAccess);
- TranslateEnum(ref flagsAndAttributes, (int)flagsAndAttributes);
- Translate(ref path);
- Translate(ref processArgs);
- Translate(ref isAnAugmentedFileAccess);
- }
-
- ///
- public void Translate(ref List fileAccessDataList)
- {
- if (!TranslateNullable(fileAccessDataList))
- {
- return;
- }
-
- int count = fileAccessDataList.Count;
- Translate(ref count);
- fileAccessDataList.ForEach(fileAccessData => Translate(ref fileAccessData));
- }
-
- ///
- public void Translate(ref ProcessData processData)
- {
- string processName = processData.ProcessName;
- uint processId = processData.ProcessId;
- uint parentProcessId = processData.ParentProcessId;
- DateTime creationDateTime = processData.CreationDateTime;
- DateTime exitDateTime = processData.ExitDateTime;
- uint exitCode = processData.ExitCode;
- Translate(ref processName);
- Translate(ref processId);
- Translate(ref parentProcessId);
- Translate(ref creationDateTime);
- Translate(ref exitDateTime);
- Translate(ref exitCode);
- }
#endif
///
diff --git a/src/Framework/CompatibilitySuppressions.xml b/src/Framework/CompatibilitySuppressions.xml
index 2545a39b99a..aedfd3e3845 100644
--- a/src/Framework/CompatibilitySuppressions.xml
+++ b/src/Framework/CompatibilitySuppressions.xml
@@ -1,6 +1,287 @@
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.DesiredAccess
+ lib/net472/Microsoft.Build.Framework.dll
+ lib/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.FileAccessData
+ lib/net472/Microsoft.Build.Framework.dll
+ lib/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.FlagsAndAttributes
+ lib/net472/Microsoft.Build.Framework.dll
+ lib/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.ProcessData
+ lib/net472/Microsoft.Build.Framework.dll
+ lib/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.ReportedFileOperation
+ lib/net472/Microsoft.Build.Framework.dll
+ lib/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.RequestedAccess
+ lib/net472/Microsoft.Build.Framework.dll
+ lib/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.DesiredAccess
+ lib/net8.0/Microsoft.Build.Framework.dll
+ lib/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.FileAccessData
+ lib/net8.0/Microsoft.Build.Framework.dll
+ lib/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.FlagsAndAttributes
+ lib/net8.0/Microsoft.Build.Framework.dll
+ lib/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.ProcessData
+ lib/net8.0/Microsoft.Build.Framework.dll
+ lib/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.ReportedFileOperation
+ lib/net8.0/Microsoft.Build.Framework.dll
+ lib/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.RequestedAccess
+ lib/net8.0/Microsoft.Build.Framework.dll
+ lib/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.DesiredAccess
+ ref/net472/Microsoft.Build.Framework.dll
+ ref/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.FileAccessData
+ ref/net472/Microsoft.Build.Framework.dll
+ ref/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.FlagsAndAttributes
+ ref/net472/Microsoft.Build.Framework.dll
+ ref/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.ProcessData
+ ref/net472/Microsoft.Build.Framework.dll
+ ref/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.ReportedFileOperation
+ ref/net472/Microsoft.Build.Framework.dll
+ ref/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.RequestedAccess
+ ref/net472/Microsoft.Build.Framework.dll
+ ref/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.DesiredAccess
+ ref/net8.0/Microsoft.Build.Framework.dll
+ ref/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.FileAccessData
+ ref/net8.0/Microsoft.Build.Framework.dll
+ ref/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.FlagsAndAttributes
+ ref/net8.0/Microsoft.Build.Framework.dll
+ ref/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.ProcessData
+ ref/net8.0/Microsoft.Build.Framework.dll
+ ref/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.ReportedFileOperation
+ ref/net8.0/Microsoft.Build.Framework.dll
+ ref/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.RequestedAccess
+ ref/net8.0/Microsoft.Build.Framework.dll
+ ref/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.DesiredAccess
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.FileAccessData
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.FlagsAndAttributes
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.ProcessData
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.ReportedFileOperation
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0001
+ T:Microsoft.Build.Framework.FileAccess.RequestedAccess
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0002
+ F:Microsoft.Build.Framework.EngineServices.Version2
+ lib/net472/Microsoft.Build.Framework.dll
+ lib/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0002
+ M:Microsoft.Build.Framework.EngineServices.ReportFileAccess(Microsoft.Build.Framework.FileAccess.FileAccessData)
+ lib/net472/Microsoft.Build.Framework.dll
+ lib/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0002
+ F:Microsoft.Build.Framework.EngineServices.Version2
+ lib/net8.0/Microsoft.Build.Framework.dll
+ lib/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0002
+ M:Microsoft.Build.Framework.EngineServices.ReportFileAccess(Microsoft.Build.Framework.FileAccess.FileAccessData)
+ lib/net8.0/Microsoft.Build.Framework.dll
+ lib/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0002
+ F:Microsoft.Build.Framework.EngineServices.Version2
+ ref/net472/Microsoft.Build.Framework.dll
+ ref/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0002
+ M:Microsoft.Build.Framework.EngineServices.ReportFileAccess(Microsoft.Build.Framework.FileAccess.FileAccessData)
+ ref/net472/Microsoft.Build.Framework.dll
+ ref/net472/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0002
+ F:Microsoft.Build.Framework.EngineServices.Version2
+ ref/net8.0/Microsoft.Build.Framework.dll
+ ref/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0002
+ M:Microsoft.Build.Framework.EngineServices.ReportFileAccess(Microsoft.Build.Framework.FileAccess.FileAccessData)
+ ref/net8.0/Microsoft.Build.Framework.dll
+ ref/net8.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0002
+ F:Microsoft.Build.Framework.EngineServices.Version2
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ true
+
+
+ CP0002
+ M:Microsoft.Build.Framework.EngineServices.ReportFileAccess(Microsoft.Build.Framework.FileAccess.FileAccessData)
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ ref/netstandard2.0/Microsoft.Build.Framework.dll
+ true
+
- <_ClickOnceNoneItems Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' or '%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'"/>
+
+ <_ClickOnceTransitiveContentItemsTemp Include="@(_TransitiveItemsToCopyToOutputDirectory->'%(TargetPath)')" Condition="'$(PublishProtocol)' == 'ClickOnce'" >
+ %(Identity)
+
+ <_ClickOnceTransitiveContentItems Include="@(_ClickOnceTransitiveContentItemsTemp->'%(SavedIdentity)')" Condition="'%(Identity)'=='@(PublishFile)' Or '%(Extension)'=='.exe' Or '%(Extension)'=='.dll'" />
- <_ClickOnceFiles Include="@(ContentWithTargetPath);@(_DeploymentManifestIconFile);@(AppConfigWithTargetPath);@(NetCoreRuntimeJsonFilesForClickOnce);@(_ClickOnceRuntimeCopyLocalItems);@(_ClickOnceNoneItems);@(_TransitiveItemsToCopyToOutputDirectory)"/>
+
+
+ <_ClickOnceNoneItemsTemp Include="@(_NoneWithTargetPath->'%(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="@(ContentWithTargetPath);@(_DeploymentManifestIconFile);@(AppConfigWithTargetPath);@(NetCoreRuntimeJsonFilesForClickOnce);@(_ClickOnceRuntimeCopyLocalItems);@(_ClickOnceNoneItems);@(_ClickOnceTransitiveContentItems)"/>
@@ -5001,7 +5010,7 @@ Copyright (C) Microsoft Corporation. All rights reserved.
+ Returns="@(_CopyToOutputDirectoryTransitiveItems)">
- <_TransitiveItemsToCopyToOutputDirectory KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_AllChildProjectItemsWithTargetPath->'%(FullPath)')" Condition="'%(_AllChildProjectItemsWithTargetPath.CopyToOutputDirectory)'=='Always'"/>
- <_TransitiveItemsToCopyToOutputDirectory KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_AllChildProjectItemsWithTargetPath->'%(FullPath)')" Condition="'%(_AllChildProjectItemsWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'"/>
+ <_CopyToOutputDirectoryTransitiveItems KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_AllChildProjectItemsWithTargetPath->'%(FullPath)')" Condition="'%(_AllChildProjectItemsWithTargetPath.CopyToOutputDirectory)'=='Always'"/>
+ <_CopyToOutputDirectoryTransitiveItems KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_AllChildProjectItemsWithTargetPath->'%(FullPath)')" Condition="'%(_AllChildProjectItemsWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'"/>
@@ -5031,13 +5040,13 @@ Copyright (C) Microsoft Corporation. All rights reserved.
- <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='Always' AND '%(ContentWithTargetPath.MSBuildSourceProjectFile)'!=''"/>
- <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' AND '%(ContentWithTargetPath.MSBuildSourceProjectFile)'!=''"/>
+ <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='Always' AND '%(ContentWithTargetPath.MSBuildSourceProjectFile)'!=''"/>
+ <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' AND '%(ContentWithTargetPath.MSBuildSourceProjectFile)'!=''"/>
- <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='Always' AND '%(EmbeddedResource.MSBuildSourceProjectFile)'!=''"/>
- <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='PreserveNewest' AND '%(EmbeddedResource.MSBuildSourceProjectFile)'!=''"/>
+ <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='Always' AND '%(EmbeddedResource.MSBuildSourceProjectFile)'!=''"/>
+ <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='PreserveNewest' AND '%(EmbeddedResource.MSBuildSourceProjectFile)'!=''"/>
@@ -5049,13 +5058,13 @@ Copyright (C) Microsoft Corporation. All rights reserved.
- <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_CompileItemsToCopyWithTargetPath)" Condition="'%(_CompileItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='Always'"/>
- <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_CompileItemsToCopyWithTargetPath)" Condition="'%(_CompileItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'"/>
+ <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_CompileItemsToCopyWithTargetPath)" Condition="'%(_CompileItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='Always'"/>
+ <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_CompileItemsToCopyWithTargetPath)" Condition="'%(_CompileItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'"/>
- <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' AND '%(_NoneWithTargetPath.MSBuildSourceProjectFile)'!=''"/>
- <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' AND '%(_NoneWithTargetPath.MSBuildSourceProjectFile)'!=''"/>
+ <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' AND '%(_NoneWithTargetPath.MSBuildSourceProjectFile)'!=''"/>
+ <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' AND '%(_NoneWithTargetPath.MSBuildSourceProjectFile)'!=''"/>
@@ -5809,6 +5818,15 @@ Copyright (C) Microsoft Corporation. All rights reserved.
***********************************************************************************************
-->
+
+
+ CleanPublishFolder;
+ $(_RecursiveTargetForContentCopying);
+ _DeploymentGenerateTrustInfo
+ $(DeploymentComputeClickOnceManifestInfoDependsOn)
+
+
+