次の方法で共有


MSB3325診断コード

この記事では、MSB3325エラー コードについて説明します。

メッセージ テキスト

MSB3325: Cannot import the following key file: 'value'. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name:

説明

MSBuild では、プロジェクトのプロパティ[アセンブリに署名する] オプションをオンにし、アセンブリ署名用の.pfx ファイルを選択した場合、このエラーが発生する可能性があります。 このシナリオでは、 .pfx ファイルが選択されているときに、厳密な名前の公開キーをマシン上の暗号化サービス プロバイダー (CSP) にインポートする必要があります。 アプリを発行すると、MSBuild はアセンブリへの署名を試みます。 署名コードが何らかの理由で厳密な名前 CSP から厳密な名前の公開キーを読み取ることができない場合、MSBuild はこのエラーを返します。

解決策

何らかの理由でこのエラーが発生した場合の回避策は、厳密な名前の暗号化サービス プロバイダー (CSP) に .pfx ファイルを、エラー メッセージで指定されたキー コンテナー名で手動でインストールすることです。

厳密な名前の証明書を CSP に手動でインストールするには、開発者コマンド プロンプトを開き、次のように sn.exe コマンドを実行します。

sn.exe -i <pfx_file> <key_container_name_from_error_message>

sn.exe コマンドを実行すると、公開プロセスは CSP から厳密な名前の公開キーを読み取り、厳密な名前でアセンブリに署名できるようになります。

プロジェクトのプロパティの [署名] タブのスクリーンショット。

.NET プロジェクトの場合、厳密な名前の設定はプロジェクトのプロパティ[ビルド] セクションにあります。

[プロジェクトのプロパティ] の [Build Strong naming]\(ビルドの厳密な名前付け\) セクションのスクリーンショット。

対象

MSBuild のすべてのバージョン