An assembly load fails if an assembly or a dependent assembly is not found. Further, an assembly is compared for version, culture, publickeytoken besides its name while loading. Any mismatch would result in load failure.
You can enable fusion logs to get more information, here is a link that explains the same.
Investigating Managed Assembly Load Failures[
^]
Also, you may use ILSpy or DependencyWalker to check dependent assemblies exist on the system or not.