我一直在尝试在我的通用应用解决方案中创建后台任务。由于需要单独的Windows运行时组件项目来包含后台任务,因此我在我的解决方案中添加了一个项目。在我正在访问我的共享项目中的类的任务中,为了这样做,我使用add作为链接。虽然当我尝试编译项目时似乎没有错误但是我得到以下错误。
"winmdexp.exe" exited with code -1073741819.
Metadata file 'C:\...\BackgroundTasks.winmd' could not be found...
我认为这可能是因为我添加为链接的类与后台任务项目没有相同的主命名空间。
有没有人知道这个问题的解决方案。
提前致谢。
答案 0 :(得分:0)
如Creating Windows Runtime Components in C# and Visual Basic中所述,所有公共类型都必须具有与程序集名称匹配的根命名空间。我相信通过添加一个类作为我的Windows运行时组件项目的链接,我打破了相同的根名称空间限制,因为项目没有成功编译元数据文件没有创建。
为了解决这个问题,我首先将项目的输出类型更改为类库,并且编译没有问题。不幸的是,当我试图从生命周期事件中触发它们时,后台任务没有运行。
所以最后我将我的“共享”和后台任务项目之间共享的类移动到了一个类库项目中,这解决了我的问题。