O nome ViewModel não existe no namespace “clr-namespace: Project.ViewModels”

Agora isso é um erro muito estranho. Eu estou trabalhando em um aplicativo WPF e seguindo MVVM. Na minha MainWindow estou configurando views e view models e recebo este erro estranho. Embora construa bem e aplicação corre bem, mas porque estou recebendo esse erro.

Eu também segui alguns semelhantes, mas não encontrei resposta apropriada. Tentei reiniciar o visual studio e limpar e reconstruir, mas ainda enfrento esse erro.

Então aqui está o 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".

Aqui está o meu ViewModel

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

Então, o que é um erro real? Eu estou usando o Visual Studio 2012 pelo caminho.

Atualizar: Meus viewmodels e views estão no mesmo projeto. Eu não estou fazendo referência a nenhum outro projeto. E MyProject.ViewModels.MainPageViewModel existe.

questionAnswers(17)

yourAnswerToTheQuestion