Can you name all the builds that your product uses?

I have a product that has about 10+ builds. We used to ship it without a strong assembly name. But after reading about a strong name, I think it is a wise idea for strong collections of names. Just wanted to know that it is best to use all the assemblies used by the program?

Any thoughts?

+7
assemblies strongname
source share
1 answer

Yes, this is best practice, and you really should do it, especially considering the fact that you are sending this code to clients (I believe strong naming is less critical in an internal or web application).

For an explanation of this rationale, see Strongly named assemblies :

A strong name consists of an assembly - plain text name, version number and culture information (if provided) -plus a public key and digital signature. This is generated from the assembly file (the file containing the assembly manifest, which, in turn, contains the names and hashes of all the files that make up the assembly) using the corresponding private key. Microsoft® Visual Studio®.NET and other development tools provided in the Windows Software Development Kit (SDK) can assign strong assembly names. Assemblies with the same expect a strong name to be identical.

You can ensure that the name is globally unique by signing the assembly with a strong name. In particular, strong names satisfy the following requirements:

  • Strong names guarantee the uniqueness of the name based on unique key pairs. No one can generate the same assembly name that you can, because the assembly generated using one private key has a different name than the assembly generated by another private key.

  • Strong names protect the build line version. A strong name can ensure that no one can create a subsequent version of your assembly. Users can be sure that the version is going to build, which they download from the same publisher who created the version in which the application was created with.

  • Strong names provide a strong integrity check. .NET transfer. Security guarantee guarantees that the contents of the assembly have not been modified since its inception. Please note, however, that strong names in and of themselves do not imply a level of trust, as provided, for example, by digitally signing and confirming a certificate.

When you reference a strong assembly name, you expect certain benefits, such as version control and name protection. If the strong name of the assembly then refers to the assembly with a simple name that does not have these advantages, you lose the benefits that you would gain from having a strong name and return to DLL conflicts. Therefore, strong assembly names can only refer to other strong names.

+9
source share

All Articles