Error del compilador CS0687

Actualización: noviembre 2007

Mensaje de error

El calificador de alias del espacio de nombres '::' siempre se resuelve en un tipo o espacio de nombres; por tanto, aquí no es válido. Utilice '.' en su lugar.
The namespace alias qualifier '::' always resolves to a type or namespace so is illegal here. Consider using '.' instead.

Este error aparece si ha utilizado algo que el analizador ha interpretado como un tipo en un lugar inesperado. Un tipo o el nombre del espacio de nombres sólo es válido en una expresión de acceso de miembro, utilizando el operador (.) de acceso de miembro. Esto podría ocurrir si ha utilizado el operador de ámbito global (::) en otro contexto.

Ejemplo

En el código siguiente se genera el error CS0687:

// CS0687.cs

using M = Test;
using System;

public class Test 
{
    public static int x = 77;

    public static void Main() 
    {
        Console.WriteLine(M::x); // CS0687
        // To resolve use the following line instead:
        // Console.WriteLine(M.x);
    }
}