Unity should have no issues resolving classes and interfaces from a variety of assemblies. In fact, it is working properly in my test project.
It's hard to tell but what I think is happening is that you have been doing some refactoring and MyClass is not actually inheriting from IMyInterface
The interface, IMyInterface, is in the WinFormApp assembly and the implementation class is in the ClassLib assembly. This means that ClassLib will have to have a reference to WinFormApp in order to compile. If it doesn't then that means it is
not implementing the correct IMyInterface (and the code should be changed).
I would guess that it probably does, however. If that is the case then that means that the WinFormApp cannot have a reference to ClassLib because there would be a circular reference. If that is the case then your ClassLib assembly will not be automatically
copied to the WinFormApp bin directory (unless you manually do it or have a post build command). There is probably an old version of the ClassLib.dll in the WinFormApp bin directory that contains a version of MyClass that is not implementing WinFormApp.IMyInterface.
I would check all of your references and delete all of the files from your WinFormApp bin directory to start fresh.
Also, I would consider moving the interface(s) to another common assembly to avoid these potential circular references.
Enterprise Library support engineer