3

我已经在 Windows IOT 和 Raspberry PI 2 上工作了一段时间,但我所有的工作都是通过 Visual Studio 2015 完成的。事情进展顺利,直到我想在没有 Visual Studio(独立模式)的情况下运行应用程序,这就是事情开始的时候让我发疯。

错误信息

该应用程序在调试中运行良好,但是当我进入 IOT Web 界面以独立运行它时,我总是得到“无法启动包 BlinkyHeadlessVB...”。我正在运行来自 Microsoft 的 BlinkyHeadless 样本的精确副本。

我尝试在发布模式下构建并部署,结果相同(通过 VS 很好,但无法自行启动)。Raspberry PI 以无头模式运行。我什至尝试选中“不启动,但在启动时调试我的代码”框,同样的事情,无法从 Web 界面运行它。我还尝试构建 appx 文件并通过 Web 界面安装它,同样的事情。

我快疯了,特别是错误说它在任何地方都没有任何解释就失败了(至少我找不到)。

我觉得我错过了一些简单的东西(而且可能很愚蠢)。

有人有什么想法吗?我用谷歌搜索了几个小时,找不到有效的解决方案。

非常感谢您的帮助..

环境细节:

主机:Windows 10

IDE:带有更新 1 的 Visual Studio 2015 社区版

设备:Raspberry PI 2 B 型

设备操作系统:Windows IOT v10.0.10586

试图运行的项目:BlinkyHeadlessVB

4

1 回答 1

4

我解决了这个问题。我将发布解决方案以防其他人遇到此问题,希望它可以帮助他们。

第一个错误,我使用 ManualResetEvent 来阻止 BackgroundTask 退出。我应该使用 BackgroundTaskDeferral。前任:

Private deferral As BackgroundTaskDeferral
Public Sub Run(taskInstance As IBackgroundTaskInstance) Implements IBackgroundTask.Run
        deferral = taskInstance.GetDeferral
        'Your startup code
End Sub

然后,即使添加了延迟,它也不是从 Web 界面启动的,我已经通过 PowerShell(使用 enter-pssession)连接到 PI 并将我的应用程序设置为启动应用程序。

  1. 删除了默认启动应用程序:

    iotStartup 删除无头 zwave

  2. 将我的应用设置为默认启动:

    iotStartup 启动无头 myApp

  3. 重新启动,它将在 Web 界面的应用程序页面中列为正在运行的应用程序。

希望对那里的人有所帮助..

菲拉斯

于 2016-01-29T17:47:52.597 回答