Saturday, December 10, 2005

Private Strong-named Assemblies Not Supported

I was surprised to learn (the hard way) this week that Microsoft doesn’t support strong-named assemblies if they are deployed to the \bin directory of an ASP.NET application. If you need proof, check out these links:


There are two reasons to sign you assemblies:

  1. Install in the Global Assembly Cache (GAC)
  2. Install a Serviced Component into a serviced or library Component Services application


Once you have signed an assemblies, that assembly can only reference other signed assemblies.

Previously to finding that deploying signed assemblies privately is not supported, I would sign my assemblies whenever I started a new project. This way if I decided down the line that I wanted to install in the GAC, I didn’t have to re-build with a sn.exe key.

Has anyone heard about this?