Поведение привязки сборки по умолчанию

Мы создаем API, который хранится в сборке, назовем его MyAssembly.dll

Эта сборка имеет версию сборки 1.0.0.0

Я ожидаю, что при выпуске новой версии сборки предыдущий код, скомпилированный со ссылкой на версию 1.0.0.0, сломается, так как привязка сборки не будет выполнена (без какой-либо дополнительной помощи, такой как bindRedirect).

На практике я вижу, что привязка действительно успешна.

Я проверил это, создав MyAssembly.dll с различными версиями и пытаясь запустить различный код, который ссылался на 1.0.0.0

Это поведение по умолчанию? Связывание с версией EXACT происходит только из сборок со строгим именем (подпись)?

Благодарю.

1 ответ

Решение

Как среда выполнения находит сборки

"По умолчанию среда выполнения пытается связать с точной версией сборки, с которой было построено приложение. Это поведение по умолчанию может быть изменено настройками файла конфигурации".

(...)

"Примечание: нет проверки версий для сборок без строгих имен, а также проверка времени выполнения в глобальном кэше сборок для сборок без строгих имен".

Другие вопросы по тегам