backgroundTaskHost.exe退出代码为1(0x1)

7
我正在创建一个Windows存储应用程序,并为后台任务创建了一个Windows运行时组件。
在Visual Studio中,此解决方案可以构建成功。但是在触发后台任务时,总是无法运行,提示“程序'[4204] backgroundTaskHost.exe'已退出,代码为1(0x1)”。
包含后台任务的项目已经被引用到主项目中,并且我已经设置了入口点,但我不知道问题出在哪里。如何获取更多有关程序退出原因的信息?

你的应用程序是窗体应用程序还是控制台应用程序? - Kain
这是一个Windows 8商店应用程序。 - Dan14021
6个回答

2
在我的情况下,问题是与错误的Windows Runtime组件目标版本相关。然后我将其更改为UWP项目的版本,即10240。

enter image description here


2

我曾调用一个返回void的异步方法。我将该方法更改为返回Task,并在调用它时使用了await。现在任务可以正常运行。


2

我的入口点上的命名空间错误了。命名空间应为“App.BackgroundServices”,任务应为“ToastBackgroundTask”。我只写了BackgroundServices.ToastBackgroundTask,但实际上应该是App.BackgroundServices.ToastBackgroundTask


1
我曾经(现在仍然)遇到过同样的问题,但我注意到只有在启动模拟器后第一次运行我的应用程序时,我的代码才能运行,但是背景任务也会以1退出。
我的解决方案是每次启动应用程序时注销并重新注册任务:
var task = BackgroundTaskRegistration.AllTasks.SingleOrDefault(i => i.Value.Name == "PushBackgroundTask");
task.Value.Unregister(true);
RegisterBackgroundTask();

这使得我的代码每次都能执行,但是后台任务总是以1退出。
我找到了这个链接“如何调试后台任务”,但是到目前为止我还没有找到问题。

1
我发现了这个post
它建议检查项目属性并将输出类型(如果需要)从“类库”更改为“Windows 运行时组件”。

0

尝试删除 Windows 运行时项目的 bin 和 obj 文件夹中的所有内容,并在 Visual Studio 中重新构建项目。这可能会解决您的问题。


以下是关于编程的内容,请将其从英语翻译成中文。请只返回翻译后的文本:如果您对解决方案不确定,可以添加注释。 - jjj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接