1

我刚刚注意到我几天前开发的应用程序无法在我的 Surface RT 上启动。在我部署它(从 Visual Studio 中)后它运行良好,但现在当我触摸磁贴时什么也没有发生(我什么也没有得到,甚至没有启动屏幕)。我最初认为这个问题是特定于 Windows RT 的,但我在我的 PC 上检查过,同样的事情发生了。

这是因为应用程序是从 Visual Studio 部署的,而不是从商店部署的吗?有没有办法让它永久工作而不将其发布到商店(因为它还没有准备好)?

4

1 回答 1

1

如果应用程序不是从您的编码环境启动的,那么您在启动时会发生错误,例如在 App 构造函数中。如果您使用远程调试器将其部署到 Surface 并询问您是否可以在部署后打开应用程序,我相信答案是您不能。但是,您可以制作一个可以安装在 Surface 上的应用程序包,前提是您在 Surface 上拥有开发人员许可证,如果您要对其进行远程调试,则应该这样做。

如果你去 Project -> Store -> Create App Package...,会弹出一个对话框。它将询问您是否要创建要上传到商店的应用程序包,将其设置为“否”。然后,您必须选择您想要的任何版本控制增量,以及您想要构建它的架构。(假设您没有使用 C++ 库,任何都可以)。

现在,转到您的项目文件夹。在您的文件夹中应该有一个名为 AppPackages 的文件夹。进入那里,您会看到两件事(假设这是您第一次制作应用程序包),一个“.appxupload”文件和一个与您的应用程序同名的文件夹。文件夹内是您的实际“.appx”和安装它的方法,一个 PowerShell,“.ps1”脚本。压缩文件夹并将其放入 Surface。您可以通过电子邮件发送它、从您的机器上共享它、将它放在 USB 驱动器上,等等。

从那里,当它在您的 Surface 上时,解压缩并打开文件夹。右键单击 PowerShell 脚本(应命名为“Add-AppDevPackage.ps1”),然后单击“使用 Powershell 运行”。系统将提示您更改安全策略,选择“y”,如果您没有开发者许可证或旁加载密钥,则需要立即获取。该脚本将在 Surface 上安装您的应用。然后,您可以像从商店购买一样使用它。

注意:您可能需要卸载当前在 Surface 上部署的应用版本。如果您通过 VS 远程调试到您的表面,它将覆盖打包版本的 LocalState。但是,您可以使用远程调试器调试已安装的应用程序包,这样您就不必做那种事情了。如果您在应用程序包中包含调试符号,您应该也能够命中所有断点(而不仅仅是异常)。

快乐编码!

于 2013-05-12T01:43:39.027 回答