in SimpleDUTClientLibrary/AssemblyRedirectResolver.cs [62:94]
public Assembly ResolveAssembly(string assemblyName, Assembly requestingAssembly)
{
// Use latest strong name & version when trying to load SDK assemblies
var requestedAssembly = new AssemblyName(assemblyName);
AssemblyRedirect redirectInformation;
if (!_redirectsDictionary.TryGetValue(requestedAssembly.Name, out redirectInformation))
{
return null;
}
Trace.WriteLine("Redirecting assembly load of " + assemblyName
+ ",\tloaded by " + (requestingAssembly == null ? "(unknown)" : requestingAssembly.FullName));
var alreadyLoadedAssembly = AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(a =>
{
var assm = a.GetName();
return string.Equals(assm.Name, requestedAssembly.Name, StringComparison.Ordinal)
&& redirectInformation.TargetVersion.Equals(assm.Version);
});
if (alreadyLoadedAssembly != default(Assembly))
{
return alreadyLoadedAssembly;
}
requestedAssembly.Version = redirectInformation.TargetVersion;
requestedAssembly.SetPublicKeyToken(new AssemblyName("x, PublicKeyToken=" + redirectInformation.PublicKeyToken).GetPublicKeyToken());
requestedAssembly.CultureInfo = CultureInfo.InvariantCulture;
return Assembly.Load(requestedAssembly);
}