Freigeben über


Versionszuweisung für starke Namen

Dieser Schritt baut auf dem Code aus dem Unterverzeichnis 4_Shared auf und verwendet den Code im Verzeichnis 5_Versioned zur Erstellung von zwei separaten Versionen der gemeinsam nutzbaren Komponente. Außerdem werden zusätzliche Optionen für die Anwendungskonfiguration verwendet, um zu veranschaulichen, wie eine Anwendung ausgeführt wird. Eine Methode in Version 2.0.1.0 der Datei Reverser.dll wurde bewusst inkompatibel mit der gleichen Methode in 2.0.0.0 gemacht, damit ein Client, der diese Methode erfolgreich mit Version 2.0.0.0 aufgerufen hat, mit der späteren Revision nicht mehr erfolgreich ist.

Zur Veranschaulichung, wie sich Versionsschlüssel von einer Version einer Assembly zur nächsten ändern können, erstellen Sie ein neues Schlüsselpaar mit dem Strong Name-Tool (Sn.exe) und platzieren es in eine Datei:

sn –k orgVerKey.snk

Nachdem Sie nun einen neuen privaten Schlüssel besitzen, können Sie beide Komponenten der Version 2.0 kompilieren und die Schlüsseldatei sowie die zuzuweisende Versionsnummer angeben. Dazu müssen Sie die folgenden Attribute angeben (Beispiel entspricht Version 2.0.0.0):

[assembly: System.Reflection.AssemblyVersion("2.0.0.0")]
[assembly: System.Reflection.AssemblyKeyFile("orgVerKey.snk")]

Wenn Sie Ildasm.exe erneut für die beiden aktualisierten Dateien Reverser.dll ausführen, können Sie überprüfen, ob die Assemblies gemeinsam nutzbar sind. Dies ist der Fall, wenn eine andere .publickey-Eigenschaft (weil Sie ein anderes Schlüsselpaar für Version 1.0.0.0 verwendet haben) und eine aktualisierte .ver-Eigenschaft (2.0.0.0 oder 2.0.1.0, je nachdem welche Sie ansehen) vorhanden ist.

.assembly Reverser
{
  .custom instance void 
   ... // orgVerKey.snk
  .publickey = (...}
  .hash algorithm 0x00008004
  .ver 2:0:0:0
}

Siehe auch

Bindungsrichtlinie | Zusammenfassung: Verpacken und Weitergeben von Anwendungen | Anhang A: Weitere Informationen zum Verpacken und Weitergeben | Anhang B: Tools zum Verpacken und Weitergeben