我最近为 Windows Phone 8 制作了一个应用程序,现在我希望能够在带有 WP7.x 的旧设备上运行它。这是否可能无需创建一个针对 WP7 而不是 WP8 的全新 Visual Studio 项目?我以 WP8 为目标,以确保我不会在可用功能上受到阻碍,但我认为我最终没有使用任何 WP7 中不可用的功能,所以现在我想扩展 WP7.x 兼容性。关于如何尽可能容易地实现这一点的任何提示?
问问题
767 次
3 回答
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 项目文件之间的比较应该能让您顺利上路。当然,也可能存在需要删除或添加的依赖项。
否则,总是可以选择开始一个全新的项目:)
于 2013-02-04T13:38:44.313 回答
2
您需要创建一个新的 WP7 项目。可能有一种方法可以编辑您的项目和解决方案文件,但只需创建一个新的 WP7 项目并将现有代码添加到 t.
顺便提一句。你应该反过来做,从 WP7 开始,只有当你需要 WP8 中的(很少)新功能时才将项目升级到 WP8。
于 2013-02-04T13:37:53.010 回答
1
您将不可避免地必须创建另一个以 WP7.x 为目标的项目,
但这相对容易,尤其是在您不使用 WP8 专用功能的情况下。
为了提高可维护性,您应该考虑在项目之间共享可重用的代码文件,例如利用 Visual Studio 的“添加为链接”功能。
于 2013-02-04T13:37:19.407 回答