Чистое решение Visual Studio не удаляет все ссылки на DLL/проект
У меня есть VS 2008 веб-приложение VS 2008 с кучей ссылок на проекты для пользовательских DLL. Все они находятся на относительном пути от веб-проекта. Недавно я заметил, что Clean Solution удаляет некоторые, но не все, из dll из папки bin\debug веб-приложения. Например:
<Reference Include="TowerCo.Utilities, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Components\TowerCo.Utilities\bin\Debug\TowerCo.Utilities.dll</HintPath>
</Reference>
<Reference Include="TowerCo.WebControls, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Components\TowerCo.WebControls\bin\Debug\TowerCo.WebControls.dll</HintPath>
</Reference>
Первый работает нормально (очищает его, новые версии копируются в веб-проект при перестройке), а второй - нет. Побочным эффектом является то, что я автоматически не забираю изменения в зависимости.
Спасибо за любую помощь.
Ответы
Ответ 1
Кажется, что только удаляет файлы, о которых он знает.
Например, старые файлы библиотеки и старые ссылки после переименования проектов все еще существуют. Очень странно. Я всегда предполагал, что "Чистый" был просто простым удалением - и я не совсем понимаю, почему это не так. Заходите и проверяйте каждую папку вручную, если вы сомневаетесь.
Ответ 2
Когда VS не выбирает последнюю dll, если версия такая же. Попробуйте изменить свою версию в AssemblyInfo.cs, и она должна работать.
В прошлом я столкнулся с той же проблемой, когда полагался на размер/временную метку, но позже понял, что, изменяя версию, Studio удаляет старые библиотеки DLL и копирует новые DLL.