支持WP8,同时具有WP8.1的额外功能

时间:2014-07-08 23:43:55

标签: c# .net windows-phone-8 windows-phone-8.1

我之前为Windows Phone 8开发了一款应用,现在我想将Windows.Security.Cryptography添加到我的应用中,这是Windows Phone 8.1附带的新功能。

在WP8.1上完成开发后出现问题。我可以在WP8.1上成功构建应用程序,加密功能正常工作。但该应用程序不再适用于WP8平台(这是预期的)。

有没有办法可以构建一个适用于WP8和WP8.1的应用程序,而在WP8.1上我可以为新功能提供额外支持?

2 个答案:

答案 0 :(得分:1)

据我了解,Windows Phone Silverlight 8.1应用程序中提供了Windows.Security.Cryptography。这意味着您可以通过反射在WP 8.0应用程序中使用它。像这样:

// Get the type object of the class that you want (I picked a random one, and it worked)
var engineType = Type.GetType("Windows.Security.Cryptography.Core.CryptographicEngine, Windows, Version=255.255.255.255, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime");

获得类型后,可以实例化它,调用其方法等等。您可以尝试实例化对象并将其放在dynamic变量中,这样您就不需要手动反映所需的每个方法/属性。我没有用dynamic测试它,所以这只是一个想法。如果你试试,请写一个评论,如果它有效。

因此,您将只拥有一个WP 8.0应用程序,如果它部署在WP8.1设备上,它将可以访问一些新功能。

答案 1 :(得分:0)

不幸的是,你无法做到这一点。 WP 8.1可以运行8.0应用程序,但它没有相反的工作方式。您应该做的是提交带有新功能的8.1软件包,同时保留8.0 XAP(不要删除它),因此使用Windows Phone 8.0的人仍然可以下载您的应用程序,尽管没有额外的8.1功能。

相关问题