About strong naming

I am a beginner in strong naming.
I have read that strong naming is done in command mode when the assemblies are ready to deploy.  However, I have an application which involves over 80 assemblies.  What are the proper steps to do strong naming for the application   What I will going to do is:
1. In VS.NET, switch to 'Release' mode and compile.
2. Use command window in VS.NET, do strong naming one be one.

Am I right  
If I need to recompile the solution frequently, should I repeat the whole procedure   That seem very troublesome...

Thanks


Answer this question

About strong naming

  • Elizabeth_Maher_MS

    Thank a lot.

  • Nezo

    Thanks for the reply.
    Apart from the project itself, where should I put the keyfile to increase security   Should I have different keyfile for every project(I have over 80 projects) in my solution
    Thanks

  • Prakash Channagiri - MSFT

    Hi Kennon,

    Thats correct. If you strong name an assembly, you would need to strong name all asemblies referenced as well.

    Also note that this would include any Interop assemblies autogenerated by Visual Studio as well. In order to Strong Name an Interop assembly autogenerated by Visual Studio, use Tlbimp.exe tool provided with the SDK.

    Regards,
    Vikram

  • JohanNL

    Thanks for the reply.  I have successfully strong named all the assemblies with a single key file in one location.  However, I find that if I string name an assembly, all assemblies that are referenced need to be strong name too, is that true  


  • Kalaka

    Hi,

    Ok thats a good question. It is sufficient to have 1 key file for all the projects. The keyfile in some cases is kind of vendor identification to verify the authenticity.
    I believe Microsoft as a company has just 3 keyfiles for the entire company.

    As regards to security, this comes into picture only if you do not want even the developers to have access to the keyfile and the keyfile is closely guarded. Otherwise, just add it as part of the project and go ahead.

    In case, u have a closely guarded key file then the option to go for is Delay Signing. This technique is described in detail here.

    Regards,
    Vikram



  • Xtraeme

    Hi,

    It is a good idea to have a single keyfile for the whole project.

    If security issues w.r.t. the keyfile is not an issue, then u can add the key as part of the project itself and then specify the relative path to the keyfile in the AssemblyInfo.cs or AssemblyInfo.vb project.

    Then when u simply build the project, the assemblies will be strong named.

    Regards,
    Vikram

  • About strong naming