Повторное использование строгого имени с большим количеством проектов
Я работаю на большой платформе интеграции, использующей пакеты служб SSIS Biztalk 2010 и VS2008. Каждый интерфейс хранится в одном командном проекте (TFS2010). В корне командного проекта каждый интерфейс создается со своим уникальным именем и под базовой структурой плана ветвей по умолчанию была создана (с ветвями Main, Dev, Release +, когда это применимо, см. Руководство по ветвлению TFS от рейнджеров ALM).
Проблема в том, что каждому интерфейсу нужен ключ строгого имени, потому что мы хотим быть максимально совместимыми с SCA, и подпись является частью проверок.
Я не хочу, чтобы каждый интерфейс имел свой собственный ключ строгого имени, но только один ключ строгого имени для всех интерфейсов.
Какова наилучшая практика для обработки многократно используемых ключей строгого имени?
2 ответа
Лучшая практика, которую я нашел до сих пор:
- Создайте новый файл ключей (например, MyProject.snk) через командную строку VS, используя
sn.exe -k MyProject.snk
- вы должны создать файл ключа в той же папке, что и ваше решение. - Щелкните правой кнопкой мыши по первому проекту в решении и выберите "Добавить существующий элемент..."
- Перейдите к созданному вами файлу ключа - не нажимайте "Добавить" - нажмите маленький выпадающий значок рядом с ним и выберите " Добавить как ссылку".
- Файл ключа теперь будет добавлен в виде ссылки на проект - перейдите в свойства проекта, и ваш файл ключа теперь будет доступен для выбора на вкладке Подписи.
- Скопируйте и вставьте файл связанного ключа во все другие проекты (это просто копирует ссылку) и выберите его, чтобы он стал ключом подписи для каждого из них по очереди.
Таким образом, у вас есть один и тот же ключ, связанный с каждым проектом, и если вам когда-нибудь понадобится заменить ключ, вам просто нужно изменить его в одном месте.
Изменить: Извините - только что заметил, что вы на самом деле говорите о нескольких решениях - я, вероятно, все еще использовал бы такой же подход, но файл ключа под контролем источника в централизованном месте. VS должен уметь это обрабатывать и распознавать, что файл ключа находится в вашей рабочей области в другом месте.
Создайте ключ с помощью инструмента sn или из vs, добавив его в корневой каталог, а затем каждый раз, когда вы создаете проект со строгим именем, - обращайтесь к одному и тому же файлу ключа.