0

私のソリューションの 11 個の DLL は、PFX 証明書 (Click-Once インストールを使用する非常に大規模なエンタープライズ アプリケーション) を使用する必要があります。証明書は完全に機能しますが、誰かが別の開発者/ワークステーションから TFS ブランチを取得するたびに、証明書のパスワードが無効になり、次のメッセージが表示されます。

エラー 次のキー ファイルをインポートできません: CertificateName.pfx。キー ファイルは、パスワードで保護されている場合があります。これを修正するには、証明書を再度インポートするか、次のキー コンテナー名で証明書を厳密な名前の CSP に手動でインストールしてください: VS_KEY_DB583A44F66CCF4B AssemblyName

11 個のアセンブリすべてに対して同じパスワードの再入力を強制する[下の画像]。この非常に時間のかかるリグマロールの解決策/修正は何ですか?

ここに画像の説明を入力

別のワークステーションから同じパスワードを入力すると、技術的に異なるキーを生成するローカル値が使用されることは理解していますが、この問題が発生したのは私が初めてではないと確信しています。

4

1 に答える 1

0

これは、.pfx ファイルのチェックインと TFS からのダウンをブロックすることで解決されました。次の 3 つの解決策が考えられます。

  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. TFS「クローキング」

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

    MSDN - TFS でのクローキング

  3. .tfignore (選択されたソリューション)

    AIS ブログ - 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
于 2016-02-03T19:24:00.617 に答える