One interesting feature that was introduced since .NET 4.0 was AppDomain.FirstChanceException FirstChanceException MSDN: Occurs when an exception is thrown in managed code, before the runtime searches the call stack for an exception handler in the application domain. This means that whenever an exception occurs in your managed code, all subscribers of above mentioned event will be notified with exception details. It is called first chance because this event is notified to the debugger or subscribers even before the actual program gets it. Event before Try/Catch block (if any) are executed. It serves as "first chance" to take a note of the exception thrown. All exceptions except Stackoverflow and access violation exceptions will be notified to this event. This is subscribed by your Visual Studo debugger, you can verify that by running an sample and throw an exception from your program. You will see following or similar output » Read more

 Jsinh        

AppDomain.CurrentDomain.SetupInformation property provides some general information about the currently executing assembly. This can provide more information about the assembly binding information for current instance of AppDomain used. Above property results instance of type AppDomainSetup class. Few properties you may find interesting about the currently executing assembly are as follows: ApplicationBase - ives the path to the directory that contains the application. ApplicationName - Gives name of the application (with extension). ConfigurationFile - Gives path to the configuration file of the application domain. TargetFrameworkName - Give a string that specifies the target version of .NET framework for   the application domain this string follows format defined for FrameworkName.FrameworkName property. Happy Coding !! » Read more

 Jsinh