| File: ProjectImportedEventArgs.cs | Web Access |
| Project: src\msbuild\src\Framework\Microsoft.Build.Framework.csproj (Microsoft.Build.Framework) |
// 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.Diagnostics.CodeAnalysis; using System.IO; #nullable disable namespace Microsoft.Build.Framework { /// <summary> /// Arguments for the project imported event. /// </summary> [Serializable] public class ProjectImportedEventArgs : BuildMessageEventArgs { /// <summary> /// Initializes a new instance of the ProjectImportedEventArgs class. /// </summary> public ProjectImportedEventArgs() { } /// <summary> /// Initializes a new instance of the ProjectImportedEventArgs class. /// </summary> public ProjectImportedEventArgs( int lineNumber, int columnNumber, [StringSyntax(StringSyntaxAttribute.CompositeFormat)] string message, params object[] messageArgs) : base( subcategory: null, code: null, file: null, lineNumber: lineNumber, columnNumber: columnNumber, endLineNumber: 0, endColumnNumber: 0, message: message, helpKeyword: null, senderName: null, importance: MessageImportance.Low, eventTimestamp: DateTime.UtcNow, messageArgs: messageArgs) { } /// <summary> /// Gets or sets the original value of the Project attribute. /// </summary> public string UnexpandedProject { get; set; } /// <summary> /// Gets or sets the full path to the project file that was imported. Will be <code>null</code> /// if the import statement was a glob and no files matched, or the condition (if any) evaluated /// to false. /// </summary> public string ImportedProjectFile { get; set; } /// <summary> /// Gets or sets if this import was ignored. Ignoring imports is controlled by /// <code>ProjectLoadSettings</code>. This is only set when an import would have been included /// but was ignored to due being invalid. This does not include when a globbed import returned /// no matches, or a conditioned import that evaluated to false. /// </summary> public bool ImportIgnored { get; set; } internal override void WriteToStream(BinaryWriter writer) { base.WriteToStream(writer); writer.WriteOptionalString(UnexpandedProject); writer.WriteOptionalString(ImportedProjectFile); writer.Write(ImportIgnored); } internal override void CreateFromStream(BinaryReader reader, int version) { base.CreateFromStream(reader, version); UnexpandedProject = reader.ReadOptionalString(); ImportedProjectFile = reader.ReadOptionalString(); ImportIgnored = reader.ReadBoolean(); } } }