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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.