| File: BackEnd\Components\RequestBuilder\ITargetBuilderCallback.cs | Web Access |
| Project: src\msbuild\src\Build\Microsoft.Build.csproj (Microsoft.Build) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Threading.Tasks; using Microsoft.Build.Execution; using ElementLocation = Microsoft.Build.Construction.ElementLocation; #nullable disable namespace Microsoft.Build.BackEnd { /// <summary> /// Interface implemented by the Target Builder which allows tasks to invoke targets and build projects. /// </summary> internal interface ITargetBuilderCallback : IRequestBuilderCallback { /// <summary> /// Invokes the specified targets using Dev9 behavior. /// </summary> /// <param name="targets">The targets to build.</param> /// <param name="continueOnError">True to continue building the remaining targets if one fails.</param> /// <param name="referenceLocation">The <see cref="ElementLocation"/> of the reference.</param> /// <returns>The results for each target.</returns> /// <remarks> /// The target is run using the data context of the Project, rather than the data context /// of the current target. This has the following effects: /// 1. Data visible to the CALLING target at the time it was first invoked is the only /// data which the CALLED target can see. No changes made between the time the CALLING /// target starts and the CALLED target starts are visible to the CALLED target. /// 2. Items and Properties modified by the CALLED target are not visible to the CALLING /// target, even after the CALLED target returns. However, any changes made to /// items and properties by the CALLING target will override any changes made by the /// CALLED target. /// </remarks> Task<ITargetResult[]> LegacyCallTarget(string[] targets, bool continueOnError, ElementLocation referenceLocation); } }