In the last chapter, we learned about cryptography and how we can encrypt and decrypt using different techniques available in C#. In this chapter, we will focus on how we can manage .NET assemblies, debugging applications, and how to do tracing. Writing a .NET application appears to be relatively simple; however, it is important to make sure your program serves its purpose, maintains quality standards, doesn't crash on exceptions, and behaves properly in all circumstances. To achieve such a quality output, it is important to test your application and check the input source and values generated at runtime, which are used in the application logic for further processing and so on.
Assemblies are the fundamental units of .NET application deployment. They maintain the version, type, resources required, scope, and security details...