CONTENTS
Understanding Strong Names............................................................................................................... 534
Generating Strong Names at the Command Line ................................................................................. 535
Generating Strong Names Using Visual Studio..................................................................................... 537
Installing Strongly Named Assemblies to the GAC ............................................................................... 539
Consuming a Shared Assembly .....................................................................................541
Exploring the Manifest of SharedCarLibClient...................................................................................... 543
Configuring Shared Assemblies.....................................................................................543
Freezing the Current Shared Assembly ................................................................................................ 544
Building a Shared Assembly Version 2.0.0.0........................................................................................ 544
Dynamically Redirecting to Specific Versions of a Shared Assembly .................................................. 547
Understanding Publisher Policy Assemblies..................................................................548
Disabling Publisher Policy .................................................................................................................... 549
Understanding the Element......................................................................550
The System.Configuration Namespace..........................................................................552
The Configuration File Schema Documentation ............................................................553
Summary .......................................................................................................................554
Chapter 15: Type Reflection, Late Binding, and Attribute-Based Programming.555
The Necessity of Type Metadata....................................................................................555
Viewing (Partial) Metadata for the EngineState Enumeration .............................................................. 556
Viewing (Partial) Metadata for the Car Type......................................................................................... 557
Examining a TypeRef ............................................................................................................................ 559
Documenting the Defining Assembly.................................................................................................... 559
Documenting Referenced Assemblies.................................................................................................. 559
Documenting String Literals ................................................................................................................. 560
Understanding Reflection ..............................................................................................560
The System.Type Class......................................................................................................................... 561
Obtaining a Type Reference Using System.Object.GetType() ............................................................... 562
xxiii