Необходимо ли повторно вводить пароль PFX каждый раз, когда разработчик извлекает ветку из обходного пути TFS?

11 библиотек DLL в моем решении должны использовать сертификаты PFX (очень крупное корпоративное приложение, использующее установку Click-Once). Сертификаты работают отлично, за исключением того, что каждый раз, когда кто-то снимает ветку TFS с другого разработчика / рабочей станции, пароль сертификата становится недействительным, и они получают:

Ошибка Невозможно импортировать следующий файл ключей: CertificateName.pfx. Файл ключа может быть защищен паролем. Чтобы исправить это, попробуйте снова импортировать сертификат или вручную установить сертификат в CSP со строгим именем со следующим именем контейнера ключей: VS_KEY_DB583A44F66CCF4B AssemblyName

Принудительно вводить один и тот же пароль для всех 11 сборок [изображение ниже]. Что такое решение / исправление для этой очень трудоемкой установки?

введите описание изображения здесь

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

1 ответ

Это было решено путем блокировки файлов.pfx от регистрации и удаления из TFS. Появились три потенциальных решения:

  1. Политика запрещенных шаблонов с использованием серверных TFS Power Tools.

    stackru.com/questions/2741412/forbidden-patterns-check-in-policy-in-tfs-2010

    msdn.microsoft.com/en-us/library/gg475890%28v=vs.100%29.aspx

  2. TFS 'Cloaking'

    stackru.com/questions/29808807/how-to-cloak-directories-in-tfs-command-line

    MSDN - маскировка в TFS

  3. .tfignore (выбранное решение)

    Блог AIS - исключая файлы-из-команды-фонда-управления версиями-используя-tfignore-файлы

В конце концов, .tfignore я считаю лучшим решением..Tfignore был автоматически создан путем выбора ссылки "Обнаруженные изменения" в разделе "Исключенные" на странице "Ожидающие изменения", а затем выбора " Пропустить по расширению (*.pfx)" в контекстном меню файла PFX.

.Tfignore был введен в корень сопоставленного рабочего пространства, поэтому это правило будет немедленно применено к каждому рабочему пространству разработчика при следующем извлечении из TFS.

    ################################################################################
# This .tfignore file was automatically created by Microsoft(R) Visual Studio.
#
# Local items matching filespecs in this file will not be added to version
# control. This file can be checked in to share exclusions with others.
#
# Wildcard characters are * and ?. Patterns are matched recursively unless the
# pattern is prefixed by the \ character.
#
# You can prepend a path to a pattern to make it more specific. If you do,
# wildcard characters are not permitted in the path portion.
#
# The # character at the beginning of a line indicates a comment.
#
# The ! prefix negates a pattern. This can be used to re-include an item after
# it was excluded by a .tfignore file higher in the tree, or by the Team
# Project Collection's global exclusions list.
#
# The / character is interpreted as a \ character on Windows platforms.
#
# Examples:
#
#  # Excludes all files ending in .txt in Alpha\Beta and all its subfolders.
#  Alpha\Beta\*.txt
#
#  # Excludes all files ending in .cpp in this folder only.
#  \*.cpp
#
#  # Excludes all files ending in .cpp in this folder and all subfolders.
#  *.cpp
#
#  # If "Contoso" is a folder, then Contoso and all its children are excluded.
#  # If it is a file, then only the "Contoso" in this folder is excluded.
#  \Contoso
#
#  # If Help.exe is excluded by a higher .tfignore file or by the Team Project
#  # Collection global exclusions list, then this pattern re-includes it in
#  # this folder only.
#  !\Help.exe    
#
################################################################################

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