Chapter 17

Assemblies and Reflection

What's in this chapter?

The general structure of an assembly

How assemblies can be versioned

The global assembly cache (GAC), including how and when to use it

How assemblies are located and loaded by the CLR

Using reflection to inspect assemblies in order to determine the types they contain and the interfaces of those types

Dynamic loading of assemblies, allowing your application to inject functionality that was not available at compile time

WROX.COM CODE DOWNLOADS FOR THIS CHAPTER

The wrox.com code downloads for this chapter are found at www.wrox.com/remtitle.cgi?isbn=9781118314456 on the Download Code tab. The code is in the chapter 17 download and individually named according to the code file names throughout the chapter.

.NET-compiled modules, both DLLs and EXEs, are referred to as assemblies. Assemblies are the unit of deployment in .NET, containing both compiled code and metadata that is needed by the .NET common language runtime (CLR) to run the code. Metadata includes information such as the code's identity and version, dependencies on other assemblies, and a list of types and resources exposed by the assembly.

Development in .NET doesn't require you to know any more than that. However, as your applications become more complex, and as you begin considering such issues as deployment and maintenance of your code, you may want to understand more about assemblies. For advanced scenarios, you'll also need to know how to inspect assemblies ...

Get Professional Visual Basic 2012 and .NET 4.5 Programming 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.