Skip to content

No public event args raised for property changes #885

@ericstj

Description

@ericstj

I was working on a tool that tries to extract properties from binlogs. I can capture the initial properties from the evaluation, but property changes during target execution are not raised with the property info as a public type.

https://github.com/KirillOsenkov/MSBuildStructuredLog/pull/839/files#diff-5850999507dea96dddb234354cf875f2e8ba46b9f7d0e0dd1019bbf137e3e60bR1376
This change seems to report that information as an ExtendedPropertyReassignmentEventArgs which is an internal type. As a result, I can't capture the property change.

If that type derived from the public type PropertyReassignmentEventArgs then I'd still be able to get at the properties I needed.

I can workaround by parsing out the message as a hack, but please bring back public access to property changes. @YuliiaKovalova

Here's a basic repro:

<Project>
  <PropertyGroup>
    <MyProp>initial</MyProp>
  </PropertyGroup>

  <Target Name="ChangeMyProp" BeforeTargets="Build">
    <PropertyGroup>
      <MyProp>changed</MyProp>
    </PropertyGroup>
  </Target>

  <Target Name="Build" />

</Project>

dotnet msbuild msbuildTest.csproj /t:Build /bl

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions