Это ключевая часть: «или одна из его зависимостей»
Я часто обнаруживал, что файл сборки dll, который не может быть загружен, выглядит нормально. Однако одна из его зависимостей (другая сборка dll) не существует или была перемещена.
Когда CLR загружает сборку, он также проверяет, существуют ли все зависимости этих сборок. В развертывании XCopy это обычно означает, что вам нужны все сборки зависимостей в том же каталоге, что и exe вашего приложения.
Попробуйте загрузить исполняемый файл winforms в Reflector и в «yourApp.exe» разверните узел «Ссылки», чтобы увидеть другие типы ссылок.