This is the key part: "or one of its dependencies"
I often found that the assembly DLL file, which could not be loaded, looks great. However, one of its dependencies (another dll assembly) does not exist or has been moved.
When the CLR loads the assembly, it also checks for all dependencies between the assemblies. In an XCopy deployment, this usually means that you need all the dependency assemblies in the same directory as your exe application.
Try loading the winforms executable into Reflector , and in the section "yourApp.exe" expand the node links to see what the other types are.
source share