我似乎已经撞上了这堵砖墙。
我将Windows Phone应用程序转换为通用应用程序时,像以前一样实现了mvvm-light的东西。
但是,我现在在App.xaml中遇到了一个问题,该问题指出无法找到ViewModelLocator。结果,我看了Laurent的这篇博客文章,没有任何运气。 (http://blog.galasoft.ch/posts/2014/04/building-a-universal-application-for-windows-phone-8-1-and-windows-8-1-with-mvvm-light/)
我正在使用最新版本的mvvm-light(4.4.32.1)。
如果我将这一行注释掉:<vm:ViewModelLocator x:Key="Locator" d:IsDataSource="True" />
一切都构建并运行没有问题。一旦取消注释该行,就会收到错误消息:
XML namespace “typename desclaration”中的未知类型“ViewModelLocator”
我现在也突然出现以下错误:
无法加载文件或程序集'Microsoft.Practices.ServiceLocation,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 619affe60327fc48'或其依赖项之一。程序集版本的公共(public) key token 与请求的 key 不匹配。
在项目中,我根据NuGet安装引用了v.1.3的Microsoft.Practices.ServiceLocation ...
最佳答案
前一段时间我遇到了这个错误,事实证明真正的问题出在ViewModelLocator中。我添加了一个有问题的新接口(interface)(不记得是静态问题还是公共(public)问题还是私有(private)问题)。无论如何,注释掉它的注册会使XAML再次编译。盯着引起问题的类,最终为他们解决了问题,从而为ViewModelLocator修复了问题。
我没有其他Microsoft.Practices.ServiceLocation错误。
关于c# - 未知类型ViewModelLocator,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24433108/