Understanding .Net Assemblies and References - Assembly Name, Identity, & References E-mail
Article Index
Understanding .Net Assemblies and References
Assembly Name, Identity, & References
Binding Redirects, config Files, & Loading
The GAC
codeBase Path & Probing
All Pages

Assembly Name and Identity

An assembly's identity can be strong or weak (full or partial). The file name of the assembly is completely independent and has no impact on the identity of the assembly (except when installing the assembly into the GAC, in which case the names must match). Assembly identities are included with the metadata in the assembly's manifest. Strong names include the assembly name, version, culture, and public key token. Weak names don’t include a public key token.

Assembly References (Dependencies)

Now we need to change the context of the word “reference”. In this context we’re not concerned with the physical location of the file for development and build purposes, but rather the identity of the assembly that the executing assembly depends upon. Recall that the manifest of the running assembly includes full or partial information about the other assemblies it depends upon. It got this information by following the IDE reference paths described above and inspecting the manifests of the dependent assemblies.

These assembly references are resolved and "bound" when the application is run. To do this, the runtime goes through the process of finding the actual assemblies, as described here.

The runtime starts with the dependent assembly name information that was included in the running assembly's manifest, and it then sets out to determine the appropriate assembly version to bind.



Last Updated ( Saturday, 26 July 2008 20:32 )