Visual Studio 2008プロジェクトをVisual Studio 2010にアップグレードしました。すべてのアセンブリは、ベリサインコード署名証明書。アップグレード以降、次のエラーが継続的に発生します。
次のキー ファイルをインポートできません: companyname.pfx。キー ファイルはパスワードで保護されている可能性があります。これを修正するには、証明書を再度インポートするか、次のキー コンテナー名を使用して証明書を Strong Name CSP に手動でインストールしてください: VS_KEY_3E185446540E7F7A
これは、一部の開発者マシンで発生し、他のマシンでは発生しません。この問題を解決するために使用され、時々機能した方法には、次のものがあります。
- Windows エクスプローラーからキー ファイルを再インストールします (PFX ファイルを右クリックし、[インストール] をクリックします)
- 新しいマシンに Visual Studio 2010 を初めてインストールすると、プロジェクトを初めて開いたときにパスワードの入力が求められ、その後は機能します。Visual Studio 2008 からアップグレードしたマシンでは、このオプションは表示されません。
私は使ってみましたSN.EXEエラー メッセージに示されているように、ユーティリティ (Strong Name Tool) を使用して Strong Name CSP にキーを登録しようとしましたが、Visual Studio 2010 に付属のバージョンを使用してオプションを指定してツールを実行すると、SN.EXE は何もせずにコマンド ライン引数を一覧表示するだけです。これは、指定した引数に関係なく発生します。
なぜこのようなことが起きているのでしょうか?また、これを修正するための明確な手順は何でしょうか?私はもう諦めかけていますクリックワンスインストールと Microsoft コード署名。
ベストアンサー1
sn -i <KeyFile> <ContainerName>
私もこの問題に遭遇しました。 (キー ペアを名前付きコンテナーにインストールします)を実行することで、この問題を解決できました。
sn
は通常、Windows SDK の一部としてインストールされます。たとえばC:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\sn.exe
、この場所は、標準環境の検索パス上にない可能性があります。ただし、Visual Studio によってインストールされる「開発者コマンド プロンプト」には、通常、正しい場所を含む追加情報が追加されます。
あなたの投稿によると、次のようになります
sn -i companyname.pfx VS_KEY_3E185446540E7F7A
これは PFX ファイルの場所から実行する必要があります。VS 2010 にソリューションがロードされている場合は、ソリューション エクスプローラーから pfx ファイルを右クリックし、[コマンド プロンプトを開く] を選択するだけで、正しいディレクトリで .net 2010 cmd プロンプト ツールが起動します。
この sn コマンドを実行する前に、pfx を右クリックしてインストールを選択して再インストールしましたが、うまくいきませんでした。解決策は両方の組み合わせである可能性があるので、注意してください。