Currently it's possible to override the default assembly resolution mechanism and resolve a reference for A, Version=3.0 with A, Version=1.0, but only via extension mechanisms (AppDomain event handler, AssemblyLoadContext event handler, or custom ALC).
Normal runtime resolution (from the ALC.Default/TPA) will not allow downgrades.
We don't seem to have any tests for this though. The closest I could find are the binder tracing tests which validate that in this case the event handlers are invoked, but it doesn't validate that if the handler returns a lower version the runtime will accept it.
New tests should probably go under src/libraries and cover AppDomain.AssemblyResolve, AssemblyLoadContext.Resolving, and AssemblyLoadContext.Load.
Currently it's possible to override the default assembly resolution mechanism and resolve a reference for
A, Version=3.0withA, Version=1.0, but only via extension mechanisms (AppDomainevent handler,AssemblyLoadContextevent handler, or custom ALC).Normal runtime resolution (from the ALC.Default/TPA) will not allow downgrades.
We don't seem to have any tests for this though. The closest I could find are the binder tracing tests which validate that in this case the event handlers are invoked, but it doesn't validate that if the handler returns a lower version the runtime will accept it.
New tests should probably go under src/libraries and cover AppDomain.AssemblyResolve, AssemblyLoadContext.Resolving, and AssemblyLoadContext.Load.