Wenn man ein .NET Assembly mit einem Strong Name versehen hat, möchte man manchmal den „PublicKeyToken“ dieses Assemblies aus einem anderen Assembly ermitteln. Im ersten Schritt wird dazu das Assembly benötigt. Wenn es bereits eingebunden ist, kann mittels:
Assembly[] assemblies=AppDomain.CurrentDomain.GetAssemblies();
das richtige Assembly gesucht werden. Alternativ ist es auch möglich ein Assembly mittels:
Assembly assembly=Assembly.LoadFile(path);
von der Festplatte zu laden. Danach geht es an die Ermittlung des Public Key Tokens:
string[] parts=assembly.FullName.Split(new char[]{','}, StringSplitOptions.RemoveEmptyEntries); string publicKeyToken=parts[parts.Length-1].Trim().Replace("PublicKeyToken=", "");
Dieses könnte dann in der Applikation mit einem bestehenden Schlüssel verglichen werden um die Integrität des geladenen Assemblies zu verifizieren.