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:

 

http://support.microsoft.com/?id=813833

http://support.microsoft.com/?id=324519

 

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?

 

posted @ Saturday, December 10, 2005 10:27 AM

Print

Comments on this entry:

# re: Private Strong-named Assemblies Not Supported

Left by Javier G. Lozano at 12/10/2005 1:11 PM
Gravatar

Yeah, that was one of the annoying things about ASP.NET 1.x. However, this is no longer the issue on 2.0.

# re: Private Strong-named Assemblies Not Supported

Left by Nick Parker at 12/11/2005 7:51 AM
Gravatar

Tim,

This seems to be a strange condition, I'm rather surprised it was actually designed like this. You don't actually have to rebuild if you want to place your assembly in the GAC. Using the AssemblyDelaySignAttribute, you can apply a key pair with the sn.exe tool after the assembly is built.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconDelayedSigningAssembly.asp

# ASP.NET Performance Checks

Left by Javier G. Lozano at 4/15/2006 11:24 AM
Gravatar

# ASP.NET Performance Checks

Left by Javier G. Lozano at 4/15/2006 11:31 AM
Gravatar

Comments have been closed on this topic.