У меня есть, казалось бы, случайная проблема, когда мой проект будет работать с использованием старой версии DLL файла, который больше не существует. Иногда будет использоваться реальная версия DLL файла, в противном случае будет использоваться древняя версия DLL файла. Кто знает, где Visual Studio получает этот DLL файл - это месяцы устарели!
Я знаю, что он использует старый DLL файл, потому что, когда приложение запускается, я начинаю получать странные "TypeLoadExceptions", жалуясь, что методы не существуют или не имеют реализаций.
Иногда иногда помогают следующие действия:
- Перезапуск Visual Studio
- Перезапуск компьютера
- Очистка и восстановление решения
- Удаление всего в\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Временные файлы ASP.NET
- Поиск и удаление экземпляров DLL файла в папке \Documents and Settings\имя_пользователя\Local Settings\Temp
Иногда я выполняю все вышеперечисленные шаги, и он по-прежнему использует старую копию DLL файла. Где это скрывает?!
Такая же проблема существует на нашем TeamCity сервере, который использует MSBuild. Когда TeamCity пытается запустить модульные тесты, он использует старый DLL файл.
Теперь я знаю, что я могу использовать перенаправление сборки в файле web.config
, но номер версии DLL файла не изменился (я не хочу его обновлять, поэтому он просто остается в версии 1), Я не хочу запускать версию DLL файлов только для решения этой проблемы. Я просто хотел бы знать, какие конкретные кеши нужно очистить, чтобы я мог продолжить разработку.