Free mag vol1 | Page 24

 CONTENTS Resolving Name Clashes with Aliases.................................................................................................. 506 Creating Nested Namespaces .............................................................................................................. 508 The Default Namespace of Visual Studio.............................................................................................. 509 The Role of .NET Assemblies .........................................................................................510 Assemblies Promote Code Reuse......................................................................................................... 510 Assemblies Establish a Type Boundary ................................................................................................ 510 Assemblies Are Versionable Units ........................................ ................................................................ 510 Assemblies Are Self-Describing ........................................................................................................... 511 Assemblies Are Configurable................................................................................................................ 511 Understanding the Format of a .NET Assembly .............................................................511 The Windows File Header ..................................................................................................................... 512 The CLR File Header ............................................................................................................................. 513 CIL Code, Type Metadata, and the Assembly Manifest......................................................................... 514 Optional Assembly Resources .............................................................................................................. 514 Building and Consuming Custom Class Library .............................................................514 Exploring the Manifest.......................................................................................................................... 518 Exploring the CIL................................................................................................................................... 520 Exploring the Type Metadata................................................................................................................ 521 Building a C# Client Application ........................................................................................................... 522 Building a Visual Basic Client Application ............................................................................................ 524 Cross-Language Inheritance in Action.................................................................................................. 525 Understanding Private Assemblies ................................................................................526 The Identity of a Private Assembly ....................................................................................................... 526 Understanding the Probing Process ..................................................................................................... 526 Configuring Private Assemblies............................................................................................................ 527 The Role of the App.Config File ............................................................................................................ 529 Understanding Shared Assemblies................................................................................531 The Global Assembly Cache ................................................................................................................. 532 xxii