Revit插件中使用Mapsui出现SkiaSharp.SKPicture反序列化方法缺失错误
错误原因分析
Revit内置SkiaSharp版本冲突
Revit自身可能已集成了旧版本的SkiaSharp,该版本中不存在SKPicture.Deserialize(System.ReadOnlySpan<Byte>)方法。标准WPF项目无其他程序集干扰,能正常加载Mapsui依赖的新版SkiaSharp;但Revit加载插件时,优先使用了内置的旧版SkiaSharp,导致目标方法找不到。程序集绑定重定向未生效
尽管插件依赖版本与标准项目完全一致,但Revit插件的配置文件(如YourPlugin.addin.config)可能未正确配置程序集绑定重定向,或者Revit的加载机制忽略了该配置,使得插件仍加载了不兼容的旧版SkiaSharp。WMS渲染的代码路径特殊性
WMS服务需要加载位图资源,刚好触发了Mapsui中调用该特定SkiaSharp方法的代码分支;而GeoJSON等几何图形渲染使用的是无需该方法的路径,因此只有WMS功能会触发此错误。
内容的提问来源于stack exchange,提问作者Sebastian
相关产品推荐
相关产品推荐

