2013-05-29 212 views
3

我正在使用MvvmCross框架创建Windows Phone 8项目。 在XAML中我WP8项目中,我有以下几点:在WP8项目中使用MvxEventToCommand时出现构建错误

<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,Ve rsion = 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包装的问题吗?

+0

离家出走。无法正确回答。我知道eventtocommand依赖于混合交互 - 但通常ms sdk会安装这个...下周将尝试检查更多内容。 – Stuart

+0

谢谢。我现在使用的是旧版本,但使用更新的版本会很好。 虽然SDK确实安装了System.Windows.Interactive,但它似乎是版本3.9.5.0。 –

+0

mvvmcross框架使用针对wp7.1的项目,其中有一个项目作为system.windows.interactivity的参考。如果你的主项目是以wp8为目标的,也许在某处有冲突......前段时间我也遇到了同样的问题,但我直接使用mvvmcross项目,所以我刚刚将WP7.1项目转换为WP8。这不是最好的方法,但对我来说它工作。也许我会在不久的将来改变它。 – zleao

回答

3

只是为了回答这个问题,因为我今天碰到这个问题来了......

我有一个新的安装Windows 8.1和Windows Phone 8的SDK的。我的sln会生成,但是当MvvmCross在启动时解析插件时,它会崩溃,并且ReflectionLoadTypeException - LoaderExceptions属性包含一个条目 - 尽管从项目的引用管理器的扩展名列表中引用,但无法找到System.Windows.Interactivity

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

+0

是的,我最终降级了DLL以使其工作。不幸的是,这意味着我无法使用一些其他的ThirdParty程序集,因为它们引用了较新版本的System.Windows.Interactivity。正如@zleao指出的那样,这是因为MVVMCross项目针对该DLL的WP7.1版本。 –

+1

今天遇到同样的问题。通过将MvxEventToCommand.cs复制到我们的WP8解决方案并引用它(然后根据正确的System.Windows.Interactivity版本构建)而不是MvvmCross中的一个来解决它。 –

相关问题