App.xaml中的错误试图在Windows Phone 8项目中使用MVVM Light

当我通过NuGet添加MVVM Light包时,我会在安装期间添加引用App.xaml文件中的行的错误。 这些错误仅出现在Windows Phone 8项目中。 Windows Phone 7项目中完全相同的行不会引发任何错误。 MVVM Light添加的行是:

    

这些行位于结束标记之前。 “错误列表”窗格中报告的错误是:

  • 每个字典必须有一个关联的密钥
  • 名称“ViewModelLocator”在命名空间“clr-namespace:sdkVoiceAlarmClockWP8CS.ViewModel”中不存在

这似乎有意义,因为标记没有键属性。 但是,如果我试图将这一行移动到外面 块,我得到一组全新的错误。

就ViewModelLocator问题而言,我进行了双重检查,并将以下命名空间作为属性添加到标记中,并且未标记任何错误:

 xmlns:vm="clr-namespace:sdkVoiceAlarmClockWP8CS.ViewModel" mc:Ignorable="d" 

为什么这一组完全相同的行在Windows Phone 7项目中工作正常?如何修复我在Windows Phone 8项目中遇到的命名空间问题?

以防这是由于更复杂的问题,这里是整个App.xaml文件:

                                          

我以前遇到过这个问题。 为了使它在WP8中工作,请替换为:

     

只有这样:

  

但我并不担心为什么它适用于WP7但不适用于WP8

将所有内容插入到ResourceDictionary中,而不是在具有所有必需名称空间的ApplicationResources中,如此stackoverflow问题中所述 。