Protobuf-net导致Windows Phone商店的认证失败

时间:2015-06-03 10:11:18

标签: windows-phone-8 windows-phone-8.1 protocol-buffers protobuf-net windows-phone-store

我最近开始使用protobuf-net库来解决Windows Phone 8.1上.Net Core中缺少二进制序列化的问题,以获得现有游戏的端口。

到目前为止,protobuf-net一直很适合我。但是,当我提交应用程序时,它未通过认证测试。该报告将属于protobuf-net dll的各种方法和类列为不受支持的API。

本报告的一个例子是:

此应用程序类型不支持此API - Api = System.Reflection.Emit.Label。 Module = MSCORLIB,PUBLICKEYTOKEN = 7CEC85D7BEA7798E。文件=的protobuf-net.dll。 此应用程序类型不支持此API - Api = System.Reflection.Emit.DynamicMethod。 Module = MSCORLIB,PUBLICKEYTOKEN = 7CEC85D7BEA7798E。文件=的protobuf-net.dll。 此应用程序类型不支持此API - Api = System.Reflection.Emit.ILGenerator。 Module = MSCORLIB,PUBLICKEYTOKEN = 7CEC85D7BEA7798E。文件=的protobuf-net.dll。 此应用程序类型不支持此API - Api = System.Reflection.Emit.LocalBuilder。 Module = MSCORLIB,PUBLICKEYTOKEN = 7CEC85D7BEA7798E。文件=的protobuf-net.dll。 此应用程序类型不支持此API - Api = System.Reflection.MemberTypes。 Module = MSCORLIB,PUBLICKEYTOKEN = 7CEC85D7BEA7798E。文件= protobuf的-net.dll。

还有更多,但我为了简洁而将它们遗弃了。但是,据我所知,MSDN文档指出Windows Phone 8.1支持这些API ARE 。当然,在我自己的测试中,当从Visual Studio部署时,库已经在设备上正常工作了几周。

是否有人知道我在这里可能缺少的任何步骤,一些需要在包清单中设置的标志或类似的东西?或者我可以使用不正确版本的protobuf-net(我从WindowsPhone8.0项目构建了dll)?

由于

汤姆

1 个答案:

答案 0 :(得分:0)

当您将其作为通用应用程序执行此操作时,您将自己限制为桌面应用程序可用的API,同时也是System.Reflection.Emit namespace is there, it does not include those classes that your error message refers的一部分。