15.02.2015 Views

C# 4 and .NET 4

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

summary ❘ 459<br />

Version dependencies are exactly recorded so that with assemblies, the DLL hell of old DLLs no longer<br />

exists. Because of these features, development, deployment, <strong>and</strong> administration have become a lot easier.<br />

You learned the differences between private <strong>and</strong> shared assemblies <strong>and</strong> saw how shared assemblies can<br />

be created. With private assemblies, you don’t have to pay attention to uniqueness <strong>and</strong> versioning issues<br />

because these assemblies are copied <strong>and</strong> only used by a single application. Sharing assemblies requires you<br />

to use a key for uniqueness <strong>and</strong> to define the version. You looked at the GAC, which can be used as an<br />

intelligent store for shared assemblies.<br />

You can have faster application startups by using the native image generator. With this the JIT compiler<br />

does not need to run because the native code is created during installation time.<br />

You looked at overriding versioning issues to use a version of an assembly different from the one that was<br />

used during development; this is done through publisher policies <strong>and</strong> application configuration files. Finally,<br />

you learned how probing works with private assemblies.<br />

The chapter also discussed loading assemblies dynamically <strong>and</strong> creating assemblies during runtime. If you<br />

want to get more information on this, you should read about the plugin model of .<strong>NET</strong> 4 in Chapter 28,<br />

“Managed Extensibility Framework.” To use a plugin model with the advantage of app-domains, see coverage<br />

of the System.Addin namespace in Chapter 50, “Add-Ins.”<br />

www.it-ebooks.info

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!