我正在使用 MvvmCross 框架来创建一个 windows phone 8 项目。在 xaml 中的 WP8 项目中,我有以下内容:
<i:Interaction.Triggers >
<i:EventTrigger EventName="Tap">
<Commands:MvxEventToCommand Command="{Binding OnItemTappedCommand}" />
</i:EventTrigger >
</i:Interaction.Triggers>
我的命名空间如下:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
和
xmlns:Commands="clr-namespace:Cirrious.MvvmCross.WindowsPhone.Commands;assembly=Cirrious.MvvmCross.WindowsPhone"
当我尝试构建时,出现错误:
无法解析对程序集“System.Windows.Interactivity,Version=3.8.5.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”的依赖,因为它尚未预加载。使用 ReflectionOnly API 时,必须通过 ReflectionOnlyAssemblyResolve 事件预加载或按需加载依赖程序集。
查看 ILSpy 我可以看到 Cirrious.MvvmCross.WindowsPhone.dll 引用了这个 dll,但我的项目中的程序集引用列表中只有 3.9.5.0 版本。
我尝试在我的 app.config 中添加程序集重定向,但我认为这更多的是用于运行时解析,而不是构建错误。
解决此问题的最佳方法是什么?
谢谢
- 编辑 -
我设法通过找到 System.WindowsInteractive.dll 的 WP7.1 版本(版本 3.8.5.0)解决了这个问题。我的项目绝对是针对 Windows 8.0 手机操作系统的。
这可能是 MVVMCross 的 Nuget 包装的问题吗?