Skip to content

System.Memory packages 4.5.3 and 4.5.4 deliver differing Framework assemblies versioned 4.0.1.1 #45921

@rainersigwald

Description

@rainersigwald

Description

There are two distinct copies of System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51.

  1. The one from version 4.5.3 of the package references System.Numerics.Vectors, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
  2. The one from package version 4.5.4 references System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a​​​​​​​

Since they have the same fully-qualified name, the .NET Framework loader will treat them as interchangeable. For instance, if a user has installed the former in the Global Assembly Cache, it will be loaded even if the latter is present on the load path.

This is the root cause of https://developercommunity2.visualstudio.com/t/Project-issues-after-1682-update-chil/1263614. Some users had the old assembly GACed and it caused an inscrutable failure in MSBuild on their machines (after we removed a binding redirect that was no longer generated after updating some of our references).

Regression?

Not really.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions