Печально не удалось загрузить файл или сборку «filename.dll» или одну из ее зависимостей.
Я получаю эту ошибку, когда клиент пытается запустить мое смешанное приложение c / c ++ / c #, разработанное в VS2012. Я использовал Process Monitor, чтобы увидеть, какие именно модули не загружаются, и получил странные результаты.
На компьютере разработчика, где установлен VS2012, все работает нормально.
На клиентском компьютере не установлено ни одной Visual Studio, однако у них есть .NET 4.0 и распространяемое обновление.
По некоторым причинам, когда программа запускается на клиентском компьютере, запрашивается несколько файлов C: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ System (*. INI). Поскольку это единственные файлы, которых не существует, я уверен, что это проблема.
Теперь, почему при запуске на компьютере разработчика эти файлы не запрашиваются, но при запуске на клиентском компьютере эти файлы становятся необходимыми?
Вы можете использовать утилиту Fusion (Просмотр журнала привязки сборки) для решения проблемы.
Запустите командную строку от имени администратора, fuslogvw.exe. Этот инструмент поможет вам определить все вызовы сборок, на которые есть ссылки, в вашей программе, включая неработающие ссылки.
это мне очень помогло при попытке разрешить некоторые несопоставленные реестры ioc.
Вы можете узнать больше об этом здесь
http://msdn.microsoft.com/en-us/library/e74a18c4.aspx
Других решений пока нет …