[〜#〜] tfs [〜#〜] 2010で Team Build ( MSBuild )を使用してプロジェクトをビルドしようとすると、このエラーが発生します:
C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1970):
次のキーファイルをインポートできません:CCC.pfx。
キーファイルはパスワードで保護されている可能性があります。
これを修正するには、証明書を再度インポートするか、次のキーコンテナ名を使用して証明書を厳密な名前のCSPに手動でインストールしてください:VS_KEY_C00C673BBB353901C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1970):
キーファイル「CCC.pfx」のインポートがキャンセルされました。
Visual Studio 2010ではすべて正常にビルドされます。アセンブリは [〜#〜] pfx [〜#〜] ファイルで署名されています。通常、Visual Studioでは、最初にビルドするときにパスワードの入力を求められますが、その後は二度と入力されません...
私は実行してみました:
sn -i companyname.pfx VS_KEY_3E185446540E7F7A
stack Overflowの質問で提案されている他の応答としてキーファイルをインポートできません 'blah.pfx'-エラー'キーファイルはパスワードで保護されている可能性があります '。 Stack Overflowの質問で提案されているように個人証明書ストアにインポートしようとしましたMSBuildを使用してClickOnceまたはAssemblyに署名するとエラーMSB3321が発生します。しかし、まったく役に立たず、それでも同じエラーです。
どうすればいいのですか?ビルドサービスが実行されているWindowsアカウントなどに証明書を追加する必要がありますか?
または、署名を使用せずにチームビルドでビルドを実行するにはどうすればよいですか?コンパイルを確認して単体テストを実行したいだけです。そのために署名する必要はありません。
最終的に私にとってそれを修正したのは、TFSビルドサービスがローカルマシンで管理者を実行するアカウントを作成することでした。
私が以前に試していた他のことも、それを機能させるために行う必要があるかどうかはわかりません。しかし、管理者になる前は、管理者になった後は機能しませんでした。
あなたは この答え をあなたの特定のものに適応させる必要があります。何かのようなもの:
sn -i companyname.pfx VS_KEY_C00C673BBB353901
私がしたことはそれほど洗練されていませんが、機能します。ビルドマシンでmsbuildを実行するユーザーとしてログインし、手動でmsbuildを呼び出し、プロンプトが表示されたらパスワードを入力します。これで、そのユーザーの証明書ストアに保存され、ビルドを無人で実行できるようになります。
同じエラーが発生し、「管理者」のコメントを読んだ後、管理者としてVSコマンドプロンプトを実行したところ、正常に機能するようになりました。
私は同様の問題に直面しました
シナリオ1:ローカルシステムでプロジェクトを構築している間
私の場合、TFSからプロジェクトをダウンロードしてビルドすると、マニフェスト署名エラーが発生していました。
この問題を回避するために、プロジェクト==>プロパティ==>署名してから[ClickOnceマニフェストに署名する]のチェックを外しましたを右クリックしました。
OR
ストアから選択ボタンをクリックし、開いたダイアログボックスからログインIDを選択できます。
OR
PFXファイルを手動でインストールし、後で[その他のオプション]ボタンをクリックしてそれらの証明書をインストールできます。
シナリオ2:-ビルド中のマニフェストエラー
このエラーを解決するには、最初にストアから選択ボタンをクリックし、ダイアログボックスからログインIDを選択します。次に、最初にそのプロジェクトをTFSでコミットしてから、ビルドを実行します。
私は次の設定をしました:
<PropertyGroup>
<SignAssembly>false</SignAssembly>
<AssemblyOriginatorKeyFile>MyKey.pfx</AssemblyOriginatorKeyFile>
</PropertyGroup>
アセンブリの署名はオフになりましたが、AssemblyOriginatorKeyFile
によりマニフェストの署名中にエラーが発生しました。 AssemblyOriginatorKeyFile
を削除して修正しました。