Старый файл DLL продолжает использоваться

У меня, казалось бы, случайная проблема, когда мой проект запускается с использованием старой версии файла DLL, который больше не существует. Иногда будет использоваться реальная версия файла DLL, в других случаях будет использоваться старая версия файла DLL. Кто знает, откуда Visual Studio берет этот DLL-файл - он устарел на несколько месяцев!

Я знаю, что он использует старый DLL-файл, потому что при запуске приложения я начинаю получать странные «TypeLoadExceptions», жалуясь, что методы не работают. не существуют или не имеют реализаций.

Следующие действия иногда помогают, иногда нет:

  • Перезапуск Visual Studio
  • Перезагрузка компьютера
  • Очистка и восстановление решения
  • Удаление всего в \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files
  • Поиск и удаление экземпляров файла DLL в \ Documents and Settings \ username \ Local Settings \ Temp

Иногда я выполняю все из вышеуказанных шагов , и он по-прежнему использует старую копию файла DLL. Где это прячется ?!

Та же проблема существует на нашем сервере TeamCity , который использует MSBuild . Когда TeamCity пытается запустить модульные тесты, он использует старый файл DLL.

Теперь я знаю, что могу использовать перенаправление сборки в файле web.config , но номер версии файла DLL не имеет значения ' t изменился (я не стал его обновлять, поэтому он просто остается в версии 1). Я не хочу начинать управление версиями файлов DLL только для решения этой проблемы. Я просто хотел бы знать, какие именно кеши мне нужно очистить, чтобы продолжить разработку.

55
задан Peter Mortensen 22 February 2012 в 02:07
поделиться