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