我遇到的问题是,如果我尝试从BackgroundTask访问ContactManager,我会收到System.IO.FileLoadException。
从我的主应用程序调用它时,相同的代码运行良好:
with test_data as (
select 1 num from dual union all
select 4 from dual union all
select 6 from dual union all
select 8 from dual union all
select 3 from dual union all
select 9 from dual union all
select 0 from dual
)
select min(gap) min_gap
from (
select num, lag(num) over (order by num)+1 gap
from test_data
)
where num != gap
;
MIN_GAP
------------------
2
BackgroundTasks正常启动,但只要我调用“test”就会抛出异常。
答案 0 :(得分:0)
尝试将async void test更改为async Task test
答案 1 :(得分:0)
好的,明白了......
原因是我在开发时切换到VS2017并且在backgroundtask的project.json中得到了错误的依赖:
虽然主要项目有:
"dependencies": {
"Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0"
},
后台任务得到了:
"dependencies": {
"Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2"
},
编辑到5.0.0后,一切都很完美
答案 2 :(得分:0)
不幸的是我现在正在卸载VS2015以安装2017,因此我不能自己测试,但是后台任务中没有一些API,所以测试我将提到的方法:
1-创建一个类型为Class Library的新解决方案。
2-把你想要的方法放在那里。
3-使类库成为后台任务解决方案的参考。
3-以这种方式致电您的方法classLib.className.FuncName();
4-看它是否有效。