【发布时间】:2012-11-21 07:34:10
【问题描述】:
我已安装 Windows Phone SDK 8.0,但没有适用于桌面 Windows RT 应用程序的项目类型。
如何开发此类应用程序?
【问题讨论】:
标签: visual-studio windows-phone
我已安装 Windows Phone SDK 8.0,但没有适用于桌面 Windows RT 应用程序的项目类型。
如何开发此类应用程序?
【问题讨论】:
标签: visual-studio windows-phone
Windows RT 与 Phone SDK 无关 - 它来自主桌面开发环境。
Microsoft 不允许为 Windows RT 构建桌面应用程序。 RT 桌面仅限于使办公应用程序工作,但不包括完整的 Windows 功能。
要开发 Windows 8 桌面应用程序,您可以像过去用于桌面应用程序一样使用 Visual Studio。
要构建一个 Windows 应用商店应用程序,您可以在 c# 下选择 Windows 应用商店。 Tutorials 位于微软。在那里,您将获得一系列模板,您可以根据这些模板构建您的应用程序。我希望这些模板也将构建可以在 Windows RT 设备上运行的应用程序。 (我还没有测试过)
【讨论】:
为 Windows RT 创建桌面应用程序?
从技术上讲,您不能为 Windows RT 开发桌面应用程序。它没有得到微软的官方支持。不过,您可以为它开发Store Applications。商店应用曾被称为Metro Apps,但微软因使用该名称而面临法律风险(请参阅Microsoft to drop 'Metro' name for Windows 8)。
要绕过限制,请参阅Can ARM desktop programs be built using visual studio 2012。但是,如果您提交应用,您的应用可能会被 Microsoft 的 Windows 应用商店拒绝。
...不是桌面 Windows RT 应用程序的项目类型。
Windows RT 在那里 - 你想要一个 Windows 应用商店应用程序:
Windows 应用商店应用项目将定义WINAPI_FAMILY=WINAPI_FAMILY_APP。它将拥有三个平台:X86、X64 和 ARM。 Windows RT Pro 是X64。 Windows RT 是ARM。我不确定X86 被归类为什么。对于开发人员和工程师来说,这一切都只是WINAPI_FAMILY=WINAPI_FAMILY_APP 和三个平台。在 Visual Studio 下 Pro 和非 Pro 没有区别(有些人放弃)。
有关WINAPI_FAMILY 和平台检测的一些好读物,请参阅 Chuck Walbourn 的三部分系列文章Dual-use Coding Techniques for Games。
Windows Phone 和 Windows Store 的后端区别在于:
Windows RT 使用位于
的编译器%VSINSTALLDIR%\VC\bin\x86_ARM\CL.exeWindows Phone 使用位于
的编译器%VSINSTALLDIR%\VC\WPSDK\WP80\bin\x86_arm\link.exe显然,路径会随着平台的变化而变化。但链接器(link.exe)和其他工具(如 lib.exe)与编译器位于同一目录中。
Windows RT (ARM) 环境标记为 Visual Studio 2012 ARM Cross Tools Command Prompt。您可以在开始(剩下的部分)→ Program Files → Visual Studio 2012 → Visual Studio Tools 找到它>:
Windows Phone (ARM) 的环境标记为 Visual Studio 2012 ARM Phone Tools Command Prompt:
同样,Windows Phone (X86) 的环境标记为 Visual Studio 2012 X86 Phone Tools Command Prompt;和 Windows RT Pro (X64) 标记为 Visual Studio 2012 X64 Cross Tools Command Prompt。
所有命令提示符都设置环境,所以INCLUDE、LIBPATH、PATH 等已准备好进行命令行开发。迄今为止,这就是我所使用的全部内容,因为我一直在移植库。我还没有将 Visual Studio 用于项目。
您还需要查看 Can ARM desktop programs be built using visual studio 2012 中的 _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1 定义。
另请参阅 Jason Zander 在 MSDN 上的 What you need to know about developing for Windows on ARM (WOA)。
最后,请参阅 XDA 开发者论坛上的Desktop apps ported to Windows RT。
【讨论】:
您可以破解 Visual Studio 2012 及更高版本,以允许您在 Windows 桌面应用程序中引用 RT。
1.) 在 Visual Studio 中卸载您的项目
2.) 将 TargetPlatformVersion 属性添加到项目中:
<PropertyGroup>
<TargetPlatformVersion>8.0</TargetPlatformVersion>
</PropertyGroup>
3.) 重新加载项目。
4.) 转到“添加引用...”
5.) 现在左侧面板上应该有一个额外的 Windows 选项,允许您添加 Windows 核心引用。
欲了解更多信息,请参阅Using Windows 8* WinRT API from desktop applications
【讨论】:
Windows Phone 8 和 Windows 8 是两个独立的产品,需要 2 个独立的 SDK 来开发。 Windows Phone 8 只能在移动设备上运行,而 Windows 8 可以在台式机、笔记本电脑和平板电脑上运行。
构建 Windows 8 应用程序所需要做的就是一台安装了 Windows 8 和 Visual Studio 2012 的机器。您可以使用 Visual Studio Express(免费)版的 Windows 8 Enterprise 的 90 天评估来构建此类应用程序。如果您是学生,您可以通过 Dreamspark 计划免费获得完整版的 Visual Studio。
【讨论】:
要开发 Windows 应用商店应用,您需要 Visual Studio 2012。
Windows Phone SDK 附带的 Visual Studio Express 没有用于开发 Windows 应用商店应用的模板。
【讨论】: