2016-01-26 9 views
0

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

Ошибка Не удается импортировать следующий файл ключей: CertificateName.pfx. Ключевой файл может быть защищен паролем. Чтобы исправить это, попробуйте импортировать сертификат еще раз или вручную установить сертификат на Strong Name ПЕС со следующим именем ключа контейнера: VS_KEY_DB583A44F66CCF4B AssemblyName

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

enter image description here

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

ответ

0

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

  1. Запретного шаблон политика с помощью сервера TFS Power Tools.

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

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

  2. ТФС 'Маскировка'

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

    MSDN - Cloaking in TFS

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

    AIS Blog - excluding-files-from-team-foundation-version-control-using-tfignore-files

В конце концов, .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