Сборка Microsoft GAC, та же версия / ключ, но другой контент

Я столкнулся с ситуацией, когда на двух компьютерах в GAC было "microsoft.teamfoundation.testmanagement.client.dll" с одинаковой версией и открытым ключом. Они отличались содержанием, которое они содержали все же. Более новый имел дополнительные классы (например, BuildCoverage). Почему содержимое библиотеки dll меняется, а версия и открытый ключ остаются прежними? Это обычная практика?

2 ответа

Решение

Я не знаю, является ли это обычной практикой, но бывают случаи, когда AssemblyVersion (для именования Strong) не увеличивается во время незначительного обновления "на месте" сборки GAC для оперативного исправления ошибки. Проверьте фактическую версию файла, перейдя к файлу через командную строку, а затем проверив его свойства. Посмотрите, есть ли разница между файлами там. Это должно указывать, если фактический номер сборки отличается между ними. Бьюсь об заклад, небольшое исправление VS был применен к одному, а не к другому.

Обновление AssemblyFileVersion очень нормально, но нельзя обновлять атрибут AssemblyVersion. Вот как исправления для.NET поставляются, например. Ключ должен проверить ад сборки, чтобы убедиться, что он полностью обратно совместим, чтобы предотвратить ад DLL.

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