在Xamarin.Forms中获取Microsoft.Practices.Unity.ResolutionFailedException:依赖项的解析失败

时间:2016-08-26 09:52:06

标签: service xamarin dependencies

我的自定义服务遇到异常统一依赖异常。我已经集成了sqllite来在本地存储我的数据。这是我的代码:

public interface IDatabaseConnection
    {
        SQLite.SQLiteConnection DbConnection();
    }

这是我的服务实现:

public class UsersDataAccess
    {
    public UsersDataAccess()
            {
                database =
                  DependencyService.Get<IDatabaseConnection>().
                  DbConnection();

            }
}

我将此调用到我的viewmodel中:

 public class TestViewModel : BindableBase
    {
    private UsersDataAccess _userDataAccess;

    public TestViewModel ()
        {
            _userDataAccess = new UsersDataAccess();
        }
    }

对于Android应用程序它运行良好,但是当我尝试为ios构建时,它会获得异常,因为Unity依赖服务无法加载如下:

未处理的例外情况: Microsoft.Practices.Unity.ResolutionFailedException:依赖项的解析失败,type =“TestViewModel”,name =“(none)”。

发生异常时:调用构造函数TestViewModel()。

异常是:NullReferenceException - 未将对象引用设置为对象的实例

在例外时,容器是:   解析TestViewModel,(无)   调用构造函数TestViewModel()

在我的app.cs文件上

我只在Unity寄存器类型上添加了另一个自定义服务依赖项:

UnityContainerExtensions.RegisterType<IUserService, UserService>(Container);

但不适用于IDatabaseConnection,因为这是通过实现获得的 像:

DependencyService.Get<IDatabaseConnection>()

我在这里做错了什么?

0 个答案:

没有答案