This is because you don't have a clue what "using" does, just not yet. You cannot do any development at all without understanding assemblies and their reference. You develop one or more assemblies, and one can be used by another one. You can do it be referencing one assembly by another one, or by dynamically loading another assembly and using reflection to access its types and their members. Dynamic loading is related to advanced techniques, but referencing is the basis of all technology, making it impossible to do anything at all without referencing.
Referencing in Visual Studio is done by "Add Reference" in Solution Explorer. For understanding of referencing, you can start here: https://msdn.microsoft.com/en-us/library/8wxf689z%28v=vs.110%29.aspx
You also need to understand what a modules, and different kinds of reference, importantly, GAC and signing, and, hence, the idea open-key cryptography. Please, find it all by yourself before asking further question.
As the "using" directive
(not to be mixed up with "using" statement
), they merely help to shorten the names of the assembly-level type names. You are not obliged to use "using" at all, can just use full type names in all cases. This is nothing but syntactic sugar
. You just need to understand namespaces: https://msdn.microsoft.com/en-us/library/0d941h9d.aspx