Вы не указываете, но я предполагаю, что Toy.exe также зависит от ВСЕХ других dll? право? Потому что, если это не так, то процесс компиляции не скопирует их в каталог исполняемых файлов Toy.exe. Проверьте этот справочник и убедитесь, что все три dll присутствуют и имеют штамп даты и времени с момента последнего компиляции ...
Если все это kewl, то возможно, что ToyInterface.dll зависит от некоторой другой библиотеки DLL (не упомянутой), которая находится в папке разработки Visual Studio, но не копируется в папку времени выполнения ...
Если вы динамически загружаете эти другие библиотеки, не делайте ошибку, предполагая, что они загружают свои собственные зависимые библиотеки самостоятельно. Все зависимые библиотеки DLL загружаются на основе папки базового кода исполняемой сборки (папки, из которой она была загружена), а не папок библиотеки DLL, в которых может выполняться метод Assembly.LoadFrom
... Так что если вы хотите, чтобы библиотека DLL была загруженный не из папки загрузки Toy.exe (или из подкаталога этой папки), попробуйте указать полный путь Absolute к dll в методе Assembly.LoadFrom()
и посмотрите, исправляет ли это что-то