An Assembly can contain many namespaces. A dll is an assemblyAs I said a namespace is for logical seperation. Suppose You create a class for a calculator and call it Calc. At the same time your friend also creates a class called Calc. How will you differentiate the two classes which have same name but completely different code. Here is where namespaces come in.You can put your class inside the namespace PKSDotNet and call your calc Class like this.PKSDotNet.Calc _CalcFuncts = new PKSDotNet.Calc();Your friend can use a different namepace (YourFriend)YourFriend.Calc _Calc = new YourFriend.Calc();