我安装了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
匿名类。
这在 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/