首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Visual Studio在安卓应用中找不到扩展方法Splat.BitmapMixins.FromNative()和Splat.BitmapMixins.ToNative()

Visual Studio在安卓应用中找不到扩展方法Splat.BitmapMixins.FromNative()和Splat.BitmapMixins.ToNative()
EN

Stack Overflow用户
提问于 2019-11-13 23:48:42
回答 1查看 83关注 0票数 0

在升级利用Splat的位图功能的Xamarin应用程序时,我们在使用标题中提到的方法时遇到错误:

“IBitmap”不包含“ToNative”的定义,并且找不到接受类型为“IBitmap”的第一个参数的可访问扩展方法“ToNative”(是否缺少using指令或程序集引用?)

为了解决这个问题,我们创建了一个仅适用于安卓系统的示例Xamarin应用程序,并通过NuGet引用了Splat和Splat.Drawing。然后我们添加了对这些方法的调用,并重现了错误:

代码语言:javascript
复制
    public void Bar(IBitmap source)
    {
        Bitmap native = source.ToNative();
        IBitmap bitmap = native.FromNative();
    }

似乎Andriod应用程序可能没有引用Splat库的正确构建。当我在ProcMon中监视包含%USERPROFILE%.nuget\packages\splat的路径时,在构建过程中,我没有看到Visual Studio试图打开/读取.\netstandard2.0目录中的任何文件。

当我在DotPeek中打开netstandard2.0库时,可以看到BitmapMixins类没有包括在内,但它包含在monoandroid90构建中。

我如何在Android项目中获得对Splat的引用来引入Splat的正确构建?

示例项目可以在这里找到:https://github.com/jctlp/SplatBitmap

EN

Stack Overflow用户

发布于 2019-11-14 16:46:06

由于您没有扩展方法来帮助处理ToNative和FromNative的位图而导致的错误。

请不要通过直接从NuGet安装Splat来添加引用。将引用添加到Splat的整个项目就可以了。

从下面的链接下载整个Splat项目。https://github.com/reactiveui/splat.git

我创建了一个名为App1的Xamarin.forms应用程序。并在App1.Android中创建Class2.cs类。当我从项目中添加对Splat的引用时。它可以很好地与ToNative和FromNative扩展方法配合使用。

请注意:不要使用Bitmap,请使用Android.Graphics.Drawables.Drawablevar

代码语言:javascript
复制
public void Bar(IBitmap source)
    {
        Android.Graphics.Drawables.Drawable native = source.ToNative();//var
        IBitmap bitmap = native.FromNative();
    }

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58840777

复制
相关文章

相似问题

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