-
-
Notifications
You must be signed in to change notification settings - Fork 14
Description
I have a dll 'A' which is using latest Unity.Container(5.11.11.0), Unity.Abstractions(5.11.7.0) and Unity.Configuration(5.11.2.0). It has a method which is using following code to load dynamically in container (that container is exposed):
container = new UnityContainer();
var unitySection = configuration.Sections["unity"] as UnityConfigurationSection;
container.LoadConfiguration(unitySection);
Another dll 'B' using only Unity.Container(5.11.11.0), Unity.Abstractions(5.11.7.0) and performs class creations (and it uses dll 'A'):
IMyInterface class = container.Resolve<IMyInterface>();
Once I try to execute a test application (that uses dll 'B') I receive following exception:
System.IO.FileLoadException: Could not load file or assembly 'Unity.Abstractions, Version=5.11.2.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Very strange, because I compile both libraries with Unity.Abstractions(5.11.7.0).
As a workaround I'm using AppDomain.CurrentDomain.AssemblyResolve event and load appropriate library directly.
But what is the root of this problem? Howto get rid of it?
P. S. I use Visual Studio 2019 16.9.0 and my modules are compied for .NET Framework 4.0.
Can be related to #20