An ambiguous reference is when you rely on "using" statements at the top of the file to pre-fix class names, however you have the same class name in multiple namespaces so Visual Studio doesn't know which one you mean.
namespace MyNamespaceA
{
public class MyClass
{
public void DoSomething()
{
}
}
}
namespace MyNamespaceB
{
public class MyClass
{
public void DoSomething()
{
}
}
}
using MyNamespaceA;
using MyNamespaceB;
namespace MyApp
{
class Program
{
MyClass c = new MyClass();
MyNamespaceA.MyClass cA = new MyNamespaceA.MyClass();
MyNamespaceB.MyClass cB = new MyNamespaceB.MyClass();