Satellite assemblies and strong names
Here's what I learned:
-
Satellite assemblies for strong named assemblies must be
strong named.
OK, not that surprising.
-
Satellite assemblies for strong named assemblies must be
signed with the same key as the main assembly.
This is actually a bit of a pain for my company, because we use localization partners that in the past have been able to localize the product pretty much independently from us. With our .NET code, we'll have to sign the final satellite assemblies. Fortunately, the localizers can useĀ delay signing with skip verification to do all of their development and testing, and we just need to do the final signing.
-
By default, satellite assemblies must have the same
version number as the main assembly. You can use the
SatelliteContractVersionAttribute to enable the main
assembly to be versioned while still maintainng
compatibility with existing satellite assemblies (thanks
to Joe for pointing out this atttribute).