Сделать Visual Studio не заботиться о версиях DLL - PullRequest
1 голос
/ 07 августа 2010

Есть ли способ заставить visual studio не заботиться о dll-версиях? Это плохая идея?

Я перезагружаю свою машину разработчика и только что установил последнюю версию Pex and Moles (версия .92). Все мои проекты на версии .91.

Мы находимся в середине выпуска и не хотим сейчас обновляться. Также я не могу найти установщик до версии .91.

Когда я пытаюсь скомпилировать, я получаю сообщение, что мне не хватает ссылки. (Отсюда и этот вопрос)

Ответы [ 2 ]

4 голосов
/ 07 августа 2010

Важна версия. По определению, существует разница между каждой выпущенной версией (или нет необходимости в новой версии).Ваша программа может работать некорректно, если вы ожидаете одну версию и вместо нее другую.

Это было частью того, что было известно как " DLL Hell " в до-NET дни... Если вам нужно было использовать сторонний компонент (Crystal Reports Viewer - это тот, с которым нам всегда приходилось иметь дело), ​​вы просто использовали бы ссылку на любую установленную версию на компьютере пользователя.В наших точках розничной торговли должна была быть специальная версия Crystal Reports, чтобы их отчеты о бухгалтерских книгах печатались правильно, и из-за этого нам пришлось вечно держаться за старую версию. Обновление Crystal на ПК сломало приложение для работы с книгами продавца.На моем первом компьютере у меня было несколько приложений, когда я устанавливал или обновлял другое.В частности, Real Player сломал программное обеспечение моего автоответчика.Такие глупые вещи ...

Итак, версия важна, даже если это раздражает.Именно поэтому у меня есть склонность к сторонним инструментам, для которых у меня нет кода, и я не могу перекомпилировать себя.

3 голосов
/ 07 августа 2010

Если вы посмотрите на свойства ссылочной библиотеки DLL, вы увидите свойство «Конкретная версия».Если вы установите значение false, он не будет отслеживать конкретную версию в файле проекта.

Чтобы это работало, вы должны как-то исправить ссылки, где бы они ни использовались.Вы можете сделать это, открыв каждое решение и исправив ссылки (в это время вы также можете просто обновить ссылки на правильную версию, обращая внимание на комментарии Дэвида).

Если у вас есть много решений, вы можете использовать такой инструмент, как sed (см. Этот пост для версий инструментов для Windows, подобных этому Есть ли какая-либо утилита типа sed для cmd.exe )просто обновите файлы проекта по мере необходимости все сразу.

...