Подтвердить что ты не робот

.net reference specificversion true или false?

Мы - две компании, которые работают над одним и тем же проектом, в том же приложении. Еженедельно мы обмениваем только наши сборки (а не код) и ссылаемся друг на друга dll.

Какова наилучшая практика в отношении specificversion при добавлении ссылки на наш проект. В частности, когда мы должны использовать значение specificversion true и в каком случае следует использовать false.

4b9b3361

Ответ 1

Этот ответ будет основан на предположении, что вы управляете версиями своих библиотек dll.

Если для параметра SpecificVersion установлено значение true (которое является значением по умолчанию при добавлении ссылки), тогда проект будет ссылаться на эту DLL с определенной версией (скажем, например, 1.0.0.0). Если позднее вы получите новую dll (скажем, 1.0.1.0), вам придется удалить старую ссылку dll и добавить новую ссылку. Это связано с тем, что проект специально ищет 1.0.0.0, когда у вас установлена ​​новая версия 1.0.1.0.

Альтернативой этому является установка SpecificVersion в false, которая сообщает проекту, чтобы найти последнюю доступную DLL и использовать ее. Проблема заключается в том, что теперь проекту требуется "охотиться" в разных местах для DLL, на которую вы ссылались, что может увеличить время сборки. Он будет делать это, даже если он знает путь к dll, на который вы ссылались. Я не уверен, что это ошибка, или если это сделано по дизайну. Возможно, он проверяет, есть ли новые DLL, кроме ссылки, на которую вы ссылались (возможно, в GAC или в другом месте).

Здесь статья, которая описывает эту проблему более подробно.