You can't cast an object to a type it is not. If it belongs to a different namespace then it is not the same class. You will have to create a converter:
public static Namespace1.SomeClass Convert(Namespace2.SomeClass someClass) {
Namespace1.SomeClass rtn = new Namespace1.SomeClass();
rtn.SomeProp = someClass.SomeProp;
rtn.SomeOtherProp = someClass.SomeOtherProp;
return rtn;
}
or
You can use reflection, or make one derive from another and have one with common properties and other extend that
Also, if you own the code to one of the classes, you can check into overloading explicit and implicit on your class.
Good luck,
OI