Повторное использование строгого имени с большим количеством проектов

Я работаю на большой платформе интеграции, использующей пакеты служб SSIS Biztalk 2010 и VS2008. Каждый интерфейс хранится в одном командном проекте (TFS2010). В корне командного проекта каждый интерфейс создается со своим уникальным именем и под базовой структурой плана ветвей по умолчанию была создана (с ветвями Main, Dev, Release +, когда это применимо, см. Руководство по ветвлению TFS от рейнджеров ALM).

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

Я не хочу, чтобы каждый интерфейс имел свой собственный ключ строгого имени, но только один ключ строгого имени для всех интерфейсов.

Какова наилучшая практика для обработки многократно используемых ключей строгого имени?

2 ответа

Лучшая практика, которую я нашел до сих пор:

  • Создайте новый файл ключей (например, MyProject.snk) через командную строку VS, используя sn.exe -k MyProject.snk - вы должны создать файл ключа в той же папке, что и ваше решение.
  • Щелкните правой кнопкой мыши по первому проекту в решении и выберите "Добавить существующий элемент..."
  • Перейдите к созданному вами файлу ключа - не нажимайте "Добавить" - нажмите маленький выпадающий значок рядом с ним и выберите " Добавить как ссылку".
  • Файл ключа теперь будет добавлен в виде ссылки на проект - перейдите в свойства проекта, и ваш файл ключа теперь будет доступен для выбора на вкладке Подписи.
  • Скопируйте и вставьте файл связанного ключа во все другие проекты (это просто копирует ссылку) и выберите его, чтобы он стал ключом подписи для каждого из них по очереди.

Таким образом, у вас есть один и тот же ключ, связанный с каждым проектом, и если вам когда-нибудь понадобится заменить ключ, вам просто нужно изменить его в одном месте.

Изменить: Извините - только что заметил, что вы на самом деле говорите о нескольких решениях - я, вероятно, все еще использовал бы такой же подход, но файл ключа под контролем источника в централизованном месте. VS должен уметь это обрабатывать и распознавать, что файл ключа находится в вашей рабочей области в другом месте.

Создайте ключ с помощью инструмента sn или из vs, добавив его в корневой каталог, а затем каждый раз, когда вы создаете проект со строгим именем, - обращайтесь к одному и тому же файлу ключа.

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