Freigeben über


MSB3325 Diagnosecode

In diesem Artikel wird der MSB3325 Fehlercode beschrieben.

Text der Nachricht

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:

BESCHREIBUNG

MSBuild kann diesen Fehler erzeugen, wenn Sie die Option "Assembly signieren " in den Project-Eigenschaften aktiviert und eine .pfx Datei für die Assemblysignierung ausgewählt haben. In diesem Szenario muss der öffentliche Schlüssel mit Strong Name in den Cryptographic Service Provider (CSP) auf dem Rechner importiert werden, wenn die .pfx Datei ausgewählt ist. Wenn Sie eine App veröffentlichen, versucht MSBuild, die Assembly zu signieren. Wenn der Signaturcode den öffentlichen Schlüssel mit starkem Namen aus dem CSP für starke Namen aus irgendeinem Grund nicht lesen kann, gibt MSBuild diesen Fehler zurück.

Beschluss

Wenn Sie diesen Fehler aus irgendeinem Grund erhalten, kann das Problem umgangen werden, indem Sie die .pfx Datei manuell im Kryptografiedienstanbieter (CSP) mit einem starken Namen und dem in der Fehlermeldung angegebenen Schlüsselcontainernamen installieren.

Um das Strong-Name-Zertifikat manuell auf dem CSP zu installieren, öffnen Sie eine Entwickler-Eingabeaufforderung und führen Sie den sn.exe Befehl wie folgt aus:

sn.exe -i <pfx_file> <key_container_name_from_error_message>

Nachdem Sie den sn.exe Befehl ausgeführt haben, sollte der Veröffentlichungsprozess in der Lage sein, den öffentlichen Schlüssel mit starkem Namen aus dem CSP zu lesen und die Assembly mit starkem Namen zu signieren.

Screenshot der Registerkarte

Bei .NET-Projekten befindet sich die Einstellung für starke Namen im Abschnitt Build der Projekteigenschaften.

Screenshot des Abschnitts

Gilt für:

Alle Versionen von MSBuild