Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用WP8中后台任务中的Xamarin表单PCL代码?_C#_Visual Studio_Windows Phone 8_Xamarin_Xamarin.forms - Fatal编程技术网

C# 如何使用WP8中后台任务中的Xamarin表单PCL代码?

C# 如何使用WP8中后台任务中的Xamarin表单PCL代码?,c#,visual-studio,windows-phone-8,xamarin,xamarin.forms,C#,Visual Studio,Windows Phone 8,Xamarin,Xamarin.forms,我正在尝试使用PCL代码从windows-phone-8中的定期后台任务访问SQLite数据库 但是,我得到了这个错误:invalidoOperationException:您必须调用Xamarin.Forms.Init;使用前 尝试在这样调用代理时执行Forms.Init protected override void OnInvoke(ScheduledTask task) { Forms.Init(); 引发UnauthorizedAccessExcept

我正在尝试使用PCL代码从windows-phone-8中的定期后台任务访问SQLite数据库

但是,我得到了这个错误:invalidoOperationException:您必须调用Xamarin.Forms.Init;使用前

尝试在这样调用代理时执行Forms.Init

    protected override void OnInvoke(ScheduledTask task)
    {
        Forms.Init();
引发UnauthorizedAccessException:无效的跨线程访问

还尝试了Device.beginInvokeMainThread=>{Forms.Init;};但这也不起作用

在后台任务中使用PCL项目中的公共代码的正确方法是什么

编辑:

我在打电话给表格。在

不从后台任务执行任何UI更新。尝试使用DependencyService获取特定于平台的连接详细信息时引发异常:DependencyService.get.GetConnection


正如@Jason所建议的,通过使用不同的IoC容器解决了这个问题。他为我做了这件事

首先尝试使用TinyIoC,但得到了相同的引用错误: 错误CS0246:找不到类型或命名空间名称“BindingFlags”。 是否缺少程序集引用?CS0246

其他的


尚不清楚Xamarin的IoC为什么需要表单。Init call

您可能需要尝试不依赖表单的DI容器?我对WP8后台处理知之甚少-这可能是表单中的一个bug?我知道您不需要在应用程序中多次调用Forms.Init。由于AutoFac与您使用的xamarin pcl版本不兼容,您是如何安装AutoFac的?