3

我正在使用MSDN 中的后台任务代码示例 (c#)。我稍微修改了代码以使其运行时间更长,以便我可以查看应用程序是否可以在下次启动时“重新附加”到后台任务。我的测试表明,当应用程序第二次启动时,后台任务总是会终止。下面是测试细节:

后台任务由 aSystemTrigger类型触发SystemTriggerType.TimeZoneChange,并且在以下情况下按预期工作:

  1. 我先启动应用程序,然后更改我的 TimeZone 设置;
  2. 我先更改我的时区,然后启动应用程序;

但是,如果我关闭应用程序(按 ALT+F4),然后在后台任务完成之前再次启动它。我总是会看到后台任务被终止。有时我会The program '[920] backgroundTaskHost.exe: Managed (v4.0.30319)' has exited with code 1 (0x1).在“输出”窗口中看到类似“”的消息。

为什么每次再次启动应用程序都会终止后台任务?是设计吗?或者我在这里错过了什么?

4

2 回答 2

2

那就是项目参考问题。

如果您在运行后台任务时退出程序code 1 (0x1),则应将后台任务项目添加到原始项目的引用中。

[Windows 8] BackgroundTask 的崩溃问题告诉你如何解决参考。

于 2012-09-24T13:40:18.730 回答
1

如果您在 C# 中创建 BackgroundTask,并使用 Windows 8 RP,我认为您可能必须将项目的输出类型设置为WinMD文件而不是类库。您是否使用 WinMD 作为输出类型?

于 2012-06-24T10:22:42.027 回答