FAQ - Is the Aerospike C# client Strongly Named?
Strongly Named assembly is one that has been generated using a private key that matches the public key which is distributed along with the assembly. Within the assembly there will be a manifest listing out the files within and their hashes. A Strongly Named Assembly has a unique name, it therefore follows that two Strongly Named Assemblies with the same name contain the same files.
It can be considered advantageous to use a Strongly Named Assembly (SNA) for the following reasons:
- An SNA can be included in th Global Assembly Cache and so it can be shared among multiple applications
- Strong Naming guarantees the lineage of an assembly so the application that is being loaded came from the same publisher that created the version the application was built with.
- SNAs contain a digital signature and will not load if they have been tampered with. They are therefore guaranteed to behave in a safe and reliable manner.
The compiled Aerospike C# client is Strongly Named from version 3.2.0 onwards. The client can be obtained from here:
It should be noted that only the compiled AerospikeClient library on nuget is Strongly named. The uncompiled code (available on Github here https://github.com/aerospike/aerospike-client-csharp) cannot be Strongly Named as this would require including a private key in the repository.