首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法解析Xamarin Forms组件中的平台效果

无法解析Xamarin Forms组件中的平台效果
EN

Stack Overflow用户
提问于 2018-08-18 01:44:48
回答 1查看 476关注 0票数 1

我在Xamarin表单中遇到了平台效果的问题。这些效果在一个共享库格式中工作,我们现在正在迁移到.NET标准2.0,原因超出了本文的范围。

项目设置

安卓标准VS 2017 15.8.0 3.1.0.697729

  • Two

  • Xamarin Forms

.Net标准2.0项目(一个用于组件,另一个用于主UI)

  • 两个安卓项目(一个运行,另一个是安卓.dll)

  • 两个iOS项目(相同交易)

<代码>F213

Main Issue my of my platform effects in Android .dll work.它们都解析为无效效果。

根据文档,我的设置是正确的。(文档here)

我发现了两个不同的问题,并且碰壁了。

当我严格按照说明将:

  1. :ResolutionGroupName("MyGroupName")放在平台渲染器本身上时,我得到了Xamarin的依赖解析器的异常。没有任何消息,只有一个异常和堆栈跟踪返回到RoutingEffect.
  2. When的构造函数我使用了一个略有不同的模式,并在我的.NET Standard 2.0项目中的一个空文件的命名空间上注册,所有效果都作为null效果返回。

我一直在搜索和挖掘论坛,但都无济于事。有没有人知道问题出在哪里?

附注:所有自定义渲染器在使用静态Init()技巧后都可以工作,但不能使用效果。我还尝试让typeof()语句同时引用类的Android版本和类的.NET Standard 2.0版本。

为了完整起见,下面是我要介绍的内容。

网络标准2.0:

代码语言:javascript
复制
namespace MyBaseNamespace.Components.Effects
{
    public class SearchBarStylingEffect : RoutingEffect
    {
        public SearchBarStylingEffect() : base("MyGroupName.SearchBarStylingEffect")
        {
        }
    }
}

安卓:

代码语言:javascript
复制
[assembly: ResolutionGroupName("MyGroupName")]
[assembly: ExportEffect(typeof(SearchBarStylingEffect), "SearchBarStylingEffect")]
namespace MyBaseNamespace.Components.Android.Renderers.Effects
{
    public class SearchBarStylingEffect : PlatformEffect
    {
      …
    }
}

(iOS和Android一样,只是命名空间不同)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-23 03:54:16

我也在Xamarin的论坛上发布了这篇文章,来自Xamarin的比利·刘问了一个问题,最终引导我走上了正确的道路。我将在这里链接到它,并发布修复它的内容。

链接:Xamarin Forms Post

下面是这篇文章的解决方案:

简而言之,我必须做以下事情才能实现这个功能(现在是这样):

  1. 确保GroupNameResolution标记在应用程序中初始化的第一个效果。
  2. 从我的.Net 2.0应用程序中删除空文件初始值设定项
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51900561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档