windows-phone-7 - 通过 VS2010 WP 模拟器访问 MVVMCross vNext - Portable 中的匿名对象

标签 windows-phone-7 mvvmcross portable-class-library methodaccessexception

我安装了VS2012和VS2010。我正在使用第一个在 MVVMCross vNext 中创建我的移动应用程序的 PCL 核心,并使用 VS2010 在 WP7 模拟器上打开 UI.WP7(由于 VS2012 WP 模拟器连接到 WCF 时出现问题 - 它无法连接到我的网络桥)。一切都很顺利,直到我使用此代码:

protected void NavigateToClient(ClientDataRepository client) { RequestNavigate(new { key = client.IDKlient + "clients"}); }

在 VS2012 上运行良好,但在 VS2010 中我有异常(exception)(我通过 .dll 引用了 core 和 mvvmcross pcl)

"Problem accessing object - most likely this is caused by an anonymous object being generated as Internal - please see Anonymous types and Get accessors on WP7.1?");

我在我的核心中甚至在 Cirrious.MvvmCross 解决方案中使用 PublicKey 进行了程序集 InternalToVisible,但它没有帮助。有希望让它发挥作用吗?顺便问一下 - 每个解决方案都有相同的 PublicTokenKey 吗?

最佳答案

不涉及任何签名 - 因此您不需要使用公钥 token 。

一行就足够了:

     [assembly: InternalsVisibleTo("Cirrious.MvvmCross")]

它需要位于创建匿名对象的程序集中 - 因为编译器将在其中生成 internal匿名类。

https://github.com/slodge/MvvmCross/blob/vnext/Sample%20-%20CustomerManagement/CustomerManagement/CustomerManagement/Properties/AssemblyInfo.cs#L30 所示

这在 VS2010 和 VS2012(使用 WP7.1 和 WP8 SDK)中都适用于我


如果这对您不起作用,那么您可以随时使用 Dictionary<string,string>而不是用于导航 - 或者您可以使用非匿名类。


要解决“它无法连接到我的网桥”的问题,请尝试使用以太网 - 这在我的笔记本电脑上适用(并且有一天我希望 Wi-Fi 也能与 Win8 模拟器一起工作)

关于windows-phone-7 - 通过 VS2010 WP 模拟器访问 MVVMCross vNext - Portable 中的匿名对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15071045/

相关文章:

c# - 使用 c#.net 解析 HTML

windows-phone-7 - Windows Phone 7 是否有类似 iPhone 中的 UITableview 的组件?

c# - 使用可移植类库 (PCL) 从 URL 下载字符串

xamarin.forms - NETSTANDARD 错误 一个或多个项目目标不支持构建操作 'EmbeddedResource'

.net - 处理硬件后退按钮并将其发送到 Windows Phone 上运行的 WebBrowser 控件

c# - RichTextBox 不显示我的所有文本。

由于未释放 ViewModel 而导致 MvvmCross 内存泄漏?

c# - 使用 MvvmCross 加载本地存储中的文件

c# - 在初始化期间调用异步方法时 MvvmCross UI 卡住

c# - HttpWebRequest.Headers[HttpRequestHeader.Referer] 因错误而失败