Strong Naming

Simple names like calc can lead to some ambiguity when assemblies are shared across different applications. This is precisely what has been a critical issue in times of the DLL hell, where components were overwritten by newer versions. For example, suppose that SimpleCalc is an application that relies on calc.dll version 1.0, which is registered so that it can be shared across programs. Later, SuperCalc comes around with version 2.0 of the calc.dll library, which it also registers centrally. At this point, the later version wins and overwrites the older one. Now things may go bad for SimpleCalc if the new version is not (fully) backward compatible with the older one.

Strong naming was invented to resolve this issue. By making a ...

Get C# 5.0 Unleashed now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.