Could not load file or assembly or one of its dependencies
Solution 1:
Check if you are referencing an assembly which in turn referencing an old version of unity. For example let's say you have an assembly called
ServiceLocator.dll
which needs an old version of Unity assembly, now when you reference theServiceLocator
you should provide it with the old version of Unity, and that makes the problem.May be the output folder where all projects build their assemblies, has an old version of unity.
You can use FusLogVw to find out who is loading the old assemblies, just define a path for the log, and run your solution, then check (in FusLogvw) the first line where the Unity assembly is loaded, double click it and see the calling assembly, and here you go.
Solution 2:
Open IIS Manager
Select Application Pools
then select the pool you are using
go to advanced settings (at right side)
Change the flag of Enable 32-bit application false to true.
Solution 3:
For me, none of the other solutions worked (including the clean/rebuild strategy). I found another workaround solution which is to close and re-open Visual Studio.
I guess this forces Visual Studio to re-load the solution and all the projects, rechecking the dependencies in the process.
Solution 4:
Try to clean Debug and Release folders in your solution. Then remove and add unity again.