使用匿名对象(MVVMCross)在WP7上将变量从ViewModel传递到ViewModel时methodAccessException

使用匿名对象(MVVMCross)在WP7上将变量从ViewModel传递到ViewModel时methodAccessException,mvvm,windows-phone-7.1,mvvmcross,Mvvm,Windows Phone 7.1,Mvvmcross,我已经使用MVVMCross创建了一个应用程序,IOS和Android版本正在运行,但当我尝试“移植”到WP7时,遇到了以下问题: throw methodAccessException.MvxWrap("Problem accessing object - most likely this is caused by an anonymous object being generated as Internal - please see http://stackoverflow.com/ques

我已经使用MVVMCross创建了一个应用程序,IOS和Android版本正在运行,但当我尝试“移植”到WP7时,遇到了以下问题:

throw methodAccessException.MvxWrap("Problem accessing object - most likely this is caused by an anonymous object being generated as Internal - please see http://stackoverflow.com/questions/8273399/anonymous-types-and-get-accessors-on-wp7-1");
正如在回答我的另一个问题时提到的(在Android上),您必须在WP7的AssemblyInfo.cs中设置InternalsVisibleTo属性。所以我做了:

[assembly: InternalsVisibleTo("Cirrious.MvvmCross.WindowsPhone")]
但这没什么区别。我使用下面的代码将两个变量从Beckhoff Fviewmodel发送到Beckhoff Fsensorviewmodel

BeckhoffViewModel:

public IMvxCommand BeckhoffSensor1
{
get
    {
        return new MvxRelayCommand(kvpSens1);
    }
}

private void kvpSens1()
{
    RequestNavigate<BeckhoffSensorViewModel>(new { VarType = "short", Variable = ".countertest" });
}
public BeckhoffSensorViewModel(string VarType, string Variable)
{
    _vartype = VarType;
    _variable = Variable;
}

有什么我忽略的吗?我还查看了异常中提到的另一个stackoverflow主题,但无法真正理解它。

编译器肯定会将匿名类创建为
internal
,这就是为什么需要行
[assembly:InternalsVisibleTo(“cirrial.MvvmCross.WindowsPhone”)]

能否检查AssemblyInfo.cs文件是否确实链接到项目中(并且这是包含ViewModel/匿名类代码的项目)

如果是这种情况,您能否检查
methodAccessException
以查看消息内容


如果这没有帮助,您可以使用Reflector之类的工具来检查internalVisible属性是否确实存在于核心/应用程序集上吗?

我想我今天早上还没有完全醒来。我将该属性添加到UI中的AssemblyInfo.cs文件中,而不是核心(/Library)。纠正错误后,它工作正常!