Improve error reporting in case no matching dynamic version is foundThis commit improves rendering of errors in case resolution fails becauseall versions in a dynamic range are evicted, and that at least one of theevicted versions was evicted because of attribute matching. The error willnow report the attributes on each tested version, as well as the requestedattributes.For this, the module not found exception has been updated to carry morecontext, and now makes use of the tree formatter for consistency with otherexceptions in the codebase.
Identify host fragment as host in file:////host/path resource names (#4074)Before, also 'host' was treated as part of the path. With the changesin e13e45a, we do additional path normalization on resource nameswhen we resolve a relative path. That is, all additional '/'s arestripped. This also converted '//host' to '/host'. Which is different:the first is a host (i.e. a network share), and the second is just thefirst segment of a path. This fix identifies a host in a path thatstarts with '//' and makes this host part of the 'root' in aExternalResourceName rather than the path.This fixes #4002, which is a 4.4 regression. In practice, these changesonly have an effect on Windows.