【问题标题】:Design Time Error in MVVM Light for Windows Phone 8Windows Phone 8 的 MVVM Light 中的设计时错误
【发布时间】:2012-12-18 14:41:13
【问题描述】:

我目前正在使用 MVVM Light Toolkit 迈出第一步。我想在 Blend 中打开一个示例 WP8 项目,但我收到了 Laurent 在his blog 中提到的消息:

“无法加载类型‘System.ComponentModel.INotifyPropertyChanging’ 来自程序集'mscorlib.extensions'”

我已经尝试过他的修复,但我什至无法引用他提供的新修补的 dll 文件以供下载。我收到此错误消息:

无法将对更高版本或不兼容程序集的引用添加到项目中。

我在 Windows 8 上使用 Visual Studio 2012 Express 和 MVVM Light Toolkit 中的这两个文件:

修复对你们中的任何人有用吗?

感谢您的帮助, 马库斯

【问题讨论】:

    标签: mvvm-light windows-phone windows-phone-8


    【解决方案1】:

    这是已知的错误,可能的解决方案在这里描述:
    http://mvvmlight.codeplex.com/discussions/401430

    你能做的和对我有用的是下载最新的 MVVM Light 源代码,删除所有对“mscorlib.extensions”的引用,重新编译它,你就可以了。

    在您的项目中,您还必须删除对“mscorlib.extensions”的所有引用,这样它就可以正常工作了。

    【讨论】:

    • 感谢您的快速回答和讨论链接。如果我理解正确,MVVM Light 的某些部分引用了 INotifyPropertyChanging。这些引用应该从 Laurant 在他的博客文章中提供的 DLL 文件中删除。如果我编译源代码,我只会看到 WP7 或 WP71 的文件。那么我应该将哪个用于 WP8,因为官方安装程序版本中有一个专用的 WP8 文件夹。
    • 是的,这就是现在的解决方案。我个人甚至在 WP8 项目中也使用 WP7.1 MVVM Light 库 - 它工作得很好!
    • 嗯,我已经根据这些指令galasoft.ch/mvvm/building编译了源代码并执行了bat文件。然后我尝试从二进制文件夹中引用生成的 WP71 发布 dll 文件。我可以添加 Mvvmlight.extras 和 Mvvmlight 文件,但不能添加 Microsoft.Practices.ServiceLocation 或 System.Windows.Interactivity,因为我仍然收到此错误:无法将对更高版本或不兼容程序集的引用添加到项目中。
    【解决方案2】:

    我在安装最新版本的 mvvm (GalaSoft.MvvmLight.4.1.24.0.msi) 时遇到了同样的问题。

    我通过删除对 GalaSoft 的引用然后使用 NuGet 重新安装 Portable MVVM 库来解决它。它们只有 MVVM LIght 库 (PCL) 的 NuGet 名称。这些似乎是为可移植类库编译的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多