El nombre ViewModel no existe en el espacio de nombres "clr-namespace: Project.ViewModels"

Ahora que es un error realmente extraño. Estoy trabajando en una aplicación WPF y siguiendo MVVM. En mi ventana principal, estoy configurando vistas y modelos de vista y recibo este extraño error. Aunque se compila bien y la aplicación se ejecuta bien, pero ¿por qué recibo este error?

También seguí alguna respuesta similar pero no encontré la adecuada. Intenté reiniciar Visual Studio y limpiar y reconstruir, pero aún así me enfrento a este error.

Así que aquí está el código.

<Window x:Class="MyProject.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:v="clr-namespace:MyProject.Views"
        xmlns:vm="clr-namespace:MyProject.ViewModels"
        xmlns:p="clr-namespace:MyProject.Properties"
        Title="{x:Static p:Resources.Title}" Height="400" Width="750" MinHeight="400" MinWidth="750">
    <Window.Resources>
        <DataTemplate DataType="{x:Type vm:MainPageViewModel}">
            <v:MainPageView/>
        </DataTemplate>
    </Window.Resources>

Error   1   The name "MainPageViewModel" does not exist in the namespace "clr-namespace:MyProject.ViewModels".

Aquí está mi ViewModel

namespace MyProject.ViewModels
{
    public class MainPageViewModel : PropertyChangedBase
    {
        public MainPageViewModel()
        {
        }
    }
}

Entonces, ¿cuál es el error real. Estoy usando Visual Studio 2012 por cierto.

Actualizar: Mis modelos y vistas están en el mismo proyecto. No me estoy refiriendo a ningún otro proyecto. Y MyProject.ViewModels.MainPageViewModel existe.

Respuestas a la pregunta(17)

Su respuesta a la pregunta