У меня есть стороннее программное обеспечение рабочего процесса (Captaris Teamplate), которое ссылается на сборку из моего проекта, которая ссылается на другие сборки из нашего проектного решения на всем протяжении GAC .
Когда наше приложение выполняется, оно вызывает метод Captaris Teamplate для создания процесса рабочего процесса, который, в свою очередь, использует сборки проекта в GAC для хранения данных в
база данных.
Проблема в том, что когда я компилирую свой проект и удаляю сборки из GAC, заменяя их новыми версиями, но когда я запускаю весь проект, Captaris Teamplate выдает ошибку:
Тип исключения: System.IO.FileNotFoundException
Сообщение. Имя файла или сборки VBAssembly или одна из его зависимостей не найдены.
Имя файла: VBAssembly
FusionLog: === Предварительно связать информацию о состоянии ===
LOG: DisplayName = VBAssembly, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = ноль
То есть он не дал бы мне имя файла сборки DLL. Он пытается найти ни версию, которую ищет. Устранение неполадок, связанных с такой проблемой, подобно стрельбе в темноте и может привести к потере нескольких дней удаления старых сборок, которые хранятся в папке временных файлов ASP.NET, папке проекта и папке веб-сайта (inetpub), перезагрузке и т. Д., Проверке на наличие ошибок, получение ошибки, поиск других старых сборок и т. д.
Итак, мои вопросы:
- Существует ли метод, который позволил бы мне извлечь больше информации об этом исключении, например, имя сборки и версия, которая отсутствует?
- Есть ли простой способ удалить все эти старые версии сборок из системы во время компиляции?
- Любые другие предложения по работе с DLL Hell и / или Template Captaris?
Мы используем ASP.NET версии 1.1 с Visual Studio 2003 с Captaris Workflow 5.0.