Windows phone 8 I';在WP8项目中使用mvxeventto命令时,会出现生成错误

Windows phone 8 I';在WP8项目中使用mvxeventto命令时,会出现生成错误,windows-phone-8,mvvmcross,Windows Phone 8,Mvvmcross,我正在使用MvvmCross框架创建一个WindowsPhone8项目。 在xaml中的WP8项目中,我有以下内容: <i:Interaction.Triggers > <i:EventTrigger EventName="Tap"> <Commands:MvxEventToCommand Command="{Binding OnItemTappedCommand}" /> </i:EventTrigger > </i

我正在使用MvvmCross框架创建一个WindowsPhone8项目。 在xaml中的WP8项目中,我有以下内容:

<i:Interaction.Triggers >
   <i:EventTrigger EventName="Tap">
      <Commands:MvxEventToCommand Command="{Binding OnItemTappedCommand}" />
   </i:EventTrigger >
</i:Interaction.Triggers>

当我尝试构建时,会出现以下错误:

无法解析对程序集“System.Windows.Interactivity,Version=3.8.5.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”的依赖关系,因为它尚未预加载。使用ReflectionOnly API时,必须通过ReflectionOnlyAssemblyResolve事件预加载或按需加载依赖程序集

查看ILSpy,我可以看到cirrius.MvvmCross.WindowsPhone.dll引用了此dll,但我的项目中的程序集引用列表中只有版本3.9.5.0可用

我曾尝试在app.config中添加程序集重定向,但我认为这更适合于运行时解析,而不是构建错误

解决这个问题的最佳方法是什么

谢谢

--编辑--

我通过查找System.WindowsInteractive.dll的WP7.1版本(版本为3.8.5.0)成功解决了此问题。我的项目肯定是针对Windows8.0手机操作系统的


这可能是MVVMCross的Nuget打包有问题吗?

我今天遇到了这个问题,现在就回答这个问题

我重新安装了Windows8.1和WindowsPhone8SDK。我的sln将生成,但当MvvmCross在启动时解析插件时,它将崩溃,出现
ReflectionLoadTypeException
-
LoaderExceptions
属性包含一个条目-它无法找到
System.Windows.Interactivity
,尽管从项目引用管理器中的扩展列表中被引用


解决方案是安装Windows Phone 7 SDK,并从
C:\Program Files(x86)\Microsoft SDK\Expression\Blend\Windows Phone\v7.1\Libraries\System.Windows.Interactivity.dll

中获取Windows Phone 7版本。不能正确回答。我知道eventtocommand依赖于blend的交互性-但通常ms sdk会安装这个。。。下周将尝试查看更多。谢谢。我现在可以使用那个旧版本了,但最好使用更新的版本。SDK确实安装了System.Windows.Interactive,但它的版本似乎是3.9.5.0。mvvmcross框架使用针对wp7.1的项目有一个项目作为System.Windows.Interactive的参考。如果你的主要项目是针对wp8,可能有冲突的地方。。。不久前我也遇到过同样的问题,但我直接使用mvvmcross项目,所以我刚刚将WP7.1项目转换为WP8。这不是最好的方法,但对我来说,它奏效了。也许我会在不久的将来改变这一点。这显然是个问题。很高兴我不是唯一的一个。是的,我最终降低了dll的级别以使其正常工作。不幸的是,这意味着我无法使用其他一些第三方程序集,因为它们引用了较新版本的System.Windows.Interactive。正如@zleao所指出的,这是因为MVVMCross项目以该dll的WP7.1版本为目标。今天遇到了同样的问题。通过将MvxEventToCommand.cs复制到我们的WP8解决方案中并引用它(然后根据正确的System.Windows.Interactivity版本构建)而不是MvvmCross中的版本,解决了这个问题。
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" 
xmlns:Commands="clr-namespace:Cirrious.MvvmCross.WindowsPhone.Commands;assembly=Cirrious.MvvmCross.WindowsPhone"