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 @@ Skipping because the "$(AspNetConfiguration)" configuration is not supported for this web project. You can use the AspNetConfiguration property to override the configuration used for building web projects, by adding /p:AspNetConfiguration=<value> to the command line. Currently web projects only support Debug and Release configurations. - 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 @@ This is an unhandled exception in MSBuild -- PLEASE UPVOTE AN EXISTING ISSUE OR FILE A NEW ONE AT https://aka.ms/msbuild/unhandled {0} - 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 @@ This is an unhandled exception in MSBuild -- PLEASE UPVOTE AN EXISTING ISSUE OR FILE A NEW ONE AT https://aka.ms/msbuild/unhandled {0} - 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 @@ This is an unhandled exception in MSBuild -- PLEASE UPVOTE AN EXISTING ISSUE OR FILE A NEW ONE AT https://aka.ms/msbuild/unhandled {0} - 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 @@ This is an unhandled exception in MSBuild -- PLEASE UPVOTE AN EXISTING ISSUE OR FILE A NEW ONE AT https://aka.ms/msbuild/unhandled {0} - 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 @@ This is an unhandled exception in MSBuild -- PLEASE UPVOTE AN EXISTING ISSUE OR FILE A NEW ONE AT https://aka.ms/msbuild/unhandled {0} - Это необработанное исключение в 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 @@ This is an unhandled exception in MSBuild -- PLEASE UPVOTE AN EXISTING ISSUE OR FILE A NEW ONE AT https://aka.ms/msbuild/unhandled {0} - 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: The value "{0}" is not valid for an Sdk specification. The attribute should be a semicolon-delimited list of Sdk-name/minimum-version pairs, separated by a forward slash. - 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) + + +