2

我安装了 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 中我有异常(我通过 .dll 引用 core 和 mvvmcross pcl)

“访问对象的问题 - 很可能是由作为内部生成的匿名对象引起的 - 请参阅WP7.1 上的匿名类型和获取访问器? ”);

我在我的核心甚至 Cirrious.MvvmCross 解决方案中使用 PublicKey 组装 InternalToVisible,但它没有帮助。有没有希望让它发挥作用?顺便说一句 - 每个解决方案都有相同的 PublicTokenKey 吗?

4

1 回答 1

2

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

一行就足够了:

     [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)中都适用于我


如果这对您不起作用,那么您始终可以使用 aDictionary<string,string>来代替导航 - 或者您可以使用非匿名类。


为了解决“它无法连接到我的网桥”的问题,请尝试使用以太网——这对我的笔记本电脑有用(有一天我希望 WiFi 也能与 Win8 模拟器一起工作)

于 2013-02-25T16:06:53.077 回答