首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当设置为"Link All“时,DependencyService.Get返回null

当设置为"Link All"时,DependencyService.Get返回null。

在移动应用开发中,DependencyService是一个用于实现依赖注入的工具。它允许开发者在共享代码中访问特定平台的功能或服务。通过DependencyService,开发者可以在共享代码中调用特定平台的代码,而无需直接引用平台特定的程序集。

在设置为"Link All"时,编译器会对应用进行深度优化,只保留被使用的代码,删除未使用的代码,以减小应用的体积。然而,这种优化可能会导致DependencyService无法正确地解析依赖关系,从而返回null。

为了解决这个问题,可以采取以下步骤:

  1. 确保在共享代码中正确注册依赖关系。在使用DependencyService之前,需要在应用的启动代码中注册依赖关系。例如,在Xamarin.Forms中,可以在App.xaml.cs文件的构造函数中调用DependencyService.Register<T>()方法来注册依赖关系。
  2. 使用特定平台的实现类。当DependencyService无法解析依赖关系时,可以尝试直接使用特定平台的实现类。通过使用特定平台的实现类,可以绕过DependencyService的解析过程,确保依赖关系的正确性。
  3. 检查编译器的链接设置。在设置为"Link All"时,编译器会对应用进行深度优化。可以尝试将链接设置更改为"Link SDK Assemblies Only"或"Link None",以避免DependencyService的解析问题。

需要注意的是,以上解决方案是基于Xamarin.Forms开发框架的情况下给出的。对于其他开发框架或平台,可能存在不同的解决方法。

推荐的腾讯云相关产品:腾讯云移动应用开发平台(https://cloud.tencent.com/product/madp)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

feign接口返回泛型设置属性null问题

,TenantOrg传入的具体泛型类,咱们来看下出问题的类: @Getter @Setter @NoArgsConstructor public class TenantOrg { /**...JsonProperty("Name") private String name; } 必须要用@JsonProperty("Id")或者@JsonSetter("Id")注解来显示声明属性名字,尤其是首字母大写的情况...为什么TenantOrg类中的Id等其他属性跟第三方服务返回的json数据字段完全一致,却没有成功设置对应的属性呢,这个就要看下BeanDeserializer类的deserializeFromObject...方法,从其名字上我们可以看出这是将请求返回的数据反序列化成对应的类对象: public Object deserializeFromObject(JsonParser p, DeserializationContext...//在这里使用@JsonProperty注解里面定义的属性名,比如PId、Id等 //所以使用了@JsonProperty注解后,我们就无需关注类里面属性的大小写,设置不用关注属性名

2.4K20

Mybatis查询结果,为什么返回NULL或空集合?

目录 背景 JDBC 中的 ResultSet 简介 简单映射 回归最初的问题:查询结果返回值 结论 背景 一行数据记录如何映射成一个 Java 对象,这种映射机制是 MyBatis 作为 ORM...返回行的所有列都是空,MyBatis 默认返回 null开启这个设置,MyBatis会返回一个空实例。 请注意,它也适用于嵌套的结果集(如集合或关联)。...回归最初的问题:查询结果返回值 | 返回结果单行数据 可以从 ResultSetHandler的handleResultSets 方法开始分析。...} | 返回结果多行数据 那么我们看到 DefaultSqlSession#selectList() 方法,先说结论:返回空集合而不是 NULL。...而返回集合对象且查,selectList 会把这个存储结果的 List 对象直接返回,此时这个 List 就是个空集合。

5.1K20

最新jquery+easyui_api培训文档

字符串 输入框提示的文本 必填 formatter function 格式化日期的函数,这个函数以’date’参数,并且返回一个字符串 —— parser function 分析字符串的函数...missingMessage 字符串 文本框提示的文本信息 This field is required. invalidMessage 字符串 文本框内容不合法提示的文本信息 null...CSS类 null style 对象 给面板自定义样式 {} fit 布尔 设置true,面板尺寸将适合它的父容器。...forceDestroy forceDestroy设置true,面板被销毁的时候忽略onBeforeDestroy回调函数 refresh none 设置了href值,刷新面板来加载远程数据...title 字符串 标签面板的文本标题 content 字符串 标签面板的主体内容 href 字符串 填充标签内容的远程URL地址 null cache 布尔 如果true,设置href,对标签面板进行缓存

3.2K40

【Android UI】Canvas 画布 ③ ( Canvas 图层栈 | Canvas#saveLayer() 新建图层 | Canvas 状态栈保存信息标志位 )

类型返回值 , 即可使 状态栈 出栈到 该图层对应的 元素 , 即该元素置栈顶位置 ; 状态栈 中 , 保存的不只是坐标系信息 , 还包括 矩阵信息 , 大小信息 , 图层透明度信息 等 ; Canvas... * 调用restore(),屏幕外渲染目标会被拉回。...状态位 : 保存所有信息 ; Canvas 中有如下默认注解 , 该标志位默认为 ALL_SAVE_FLAG , 一般情况下都设置保存所有信息 ; /** @hide */ @IntDef...For saveLayer()调用矩阵 * 始终{@link#isHardwareAccelerated()硬件加速}还原 * canvas...For saveLayer()调用剪辑 * 始终{@link#isHardwareAccelerated()硬件加速}还原 * canvas

70020

SpringMVC 解毒2

this.interceptorIndex = i; } } return true; } 预处理(前处理)方法大家请看,for循环是从小到大的,还记录了拦截器的下标,有一个拦截器返回...就是说如果执行到第index+1个预处理方法返回了false,就从第index个拦截器倒着往回执行完成触发方法。 最后一个方法是针对Servlet3.0标准中的异步处理设置的,这里就先不讲了。...这个常量会被放到request的属性中,有矩阵参数,矩阵参数的解析结果将放到这里。...{@link #setInterceptors}, by default adding all beans of type {@link MappedInterceptor} * from the...AbstractHandlerMethodMapping 抽象类则是以方法处理请求核心,为了实现以方法中心的handler映射,他提供了一个 MappingRegistry 属性,初始化加载所有bean

77831

ggcor |相关系数矩阵可视化

y不为空(NULL,相关系数是x中的每一列和y中的每一列的相关性。 type —— 相关系数矩阵图样式,“upper”截断下三角,“lower”截断上三角。...cluster.method —— cluster.order“HC”(默认)算法,详细请查看ggcor::matrix_order()。 ... —— 其它传递给cor()函数的参数。...cor_tbl直接作为data参数传递给ggplot();矩阵(数据框),若是(is.cor = TRUE)相关系数矩阵(数据框),调用as_cor_tbl()函数处理成cor_tbl,若不是...mapping对应ggplot()中的mapping参数,空(默认),根据cor_tbl中的变量情况添加,基础形式是aes(x = x, y = y, r = r, fill = r)。...需要注意,env.ctrl非列表,每次计算的控制环境是相同的,若需要分别设置不同的控制环境,需要通过列表手动设置。还有一种情况(设置env.ctrl.group参数的情况)后面单独解释。

7.5K65
领券