使WP8应用程序与WP7兼容

时间:2013-02-04 13:21:11

标签: windows-phone-7 windows-phone-8

我最近为Windows Phone 8制作了一个应用程序,现在我希望能够在装有WP7.x的旧设备上运行它。这是否可能无需制作一个针对WP7而不是WP8的全新Visual Studio项目?我针对WP8以确保我没有停留在可用功能上,但我认为我最终还没有使用WP7中没有的任何功能,所以现在我想扩展WP7.x的兼容性。有关如何尽可能轻松实现这一目标的任何提示?

3 个答案:

答案 0 :(得分:3)

虽然没有自动方式将WP8项目“还原”为WP7项目,但可以通过编辑.csproj文件手动完成。

我目前没有方便的Windows 8系统所以我不能确定涉及哪些项目但是查看WP7项目的项目文件,我(似乎)回想起调整所有或部分以下几行:

<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>

<TargetFrameworkProfile>WindowsPhone71</TargetFrameworkProfile>

<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>

<Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.$(TargetFrameworkProfile).Overrides.targets" />

<Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.CSharp.targets" />

如果内存服务,WP8项目文件包含类似的行,它们只需要替换为上面的行。 WP7项目文件和WP8项目文件之间的比较应该可以帮助您实现目标。当然,也可能存在需要删除或添加的依赖项。

否则,始终可以选择启动一个全新的项目:)

答案 1 :(得分:2)

您需要创建一个新的WP7项目。可能有一种方法可以编辑项目和解决方案文件,但只需创建一个新的WP7项目并将现有代码添加到t即可。

顺便说一下。你应该这样做,从WP7开始,只有你需要WP8中的(很少)新功能时才将项目升级到WP8。

答案 2 :(得分:1)

你将不可避免地要创建另一个针对WP7.x的项目 但这可能相对容易,特别是如果您不使用仅WP8功能。

为了提高可维护性,您应该考虑在项目之间共享可重用的代码文件,例如利用Visual Studio的“添加为链接”功能。