Могу ли я иметь несколько PDB для одной и той же версии AssemblyVersion на сервере символов?

У меня есть библиотека классов с версией AssemblyVersion 1.0.0.0, и она должна сохраняться даже при обновлении (SharePoint...).

Поэтому я использую AssemblyFileVersion как «настоящую» версию.

Теперь я хочу настроить сервер символов и мне интересно, возможно ли иметь несколько PDB для одной и той же версии AssemblyVersion и заставить ее работать автоматически?

PublicKeyToken также всегда один и тот же, поэтому здесь нет возможности различать.


person Michael Stum    schedule 26.06.2010    source источник


Ответы (1)


да. Ключ SymbolServer основан на отметке времени и размере файла соответствующей DLL при первом создании — этот ключ хранится как в самой DLL, так и в PDB, поэтому каждая сборка будет (исключая несчастные случаи и надуманные сценарии) имеют уникальный идентификатор, связанный с ним.

Конечно, вы можете достаточно легко это проверить: просто сделайте две сборки (даже не изменяя исходный код...) и сохраните результаты в symstore - вы сможете увидеть две отдельные сохраненные PDB.

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

Смотрите также:

Сервер символов Microsoft/алгоритм хеширования локального кэша

person Shog9    schedule 26.06.2010