首页 > 解决方案 > .NET Standard lib 中的 PlatformEffect 没有得到解决

问题描述

我已经实现了一个 Xamarin.Forms 效果并成功添加了我,但我现在需要创建一个适当的 NugGet 包以将其用作我的项目中的组件。

我为实现添加了一个 .NET Standard 库RoutedEffect。然后为 iOS、Android 和 UWP 创建了三个特定于平台的 lib 项目。为了尝试一切,我创建了一个新的 Xamarin.Forms 应用程序,其中包含一个引用 .NET Standard 库的 .NET Standard“通用”RoutedEffect库。最后,从 iOS 应用程序中,我引用了 RoutedEffect 的库和(iOS)PlatformEffect实现库。

问题是PlatformEffect永远不会被实例化。我尝试从 .NET Standard 公共库中解决它,只是想看看发生了什么,然后我得到了一个NullEffect. 为了保持理智,然后我尝试将 iOS PlatformEffect 的代码从其 iOS 库移动到 iOS 应用程序中。这行得通。但我不知道为什么它在 iOS 库中实现时不起作用,当从 iOS 应用程序引用时。

我错过了什么吗?

标签: xamarin.formsnuget-packageeffect.net-standard-2.0

解决方案


好吧,这有点尴尬,我猜你不应该在深夜编码的一个例子。:-/

经过一夜好眠后PlatformEffect,我意识到仅包含一个效果的 lib 仅从 iOS 项目中引用,但实际上没有引用任何 lib 类型,因此 .NET 链接器不会链接该 lib。

只需添加对平台Effect类型的引用即可解决问题并且工作正常。

请继续... :-)


推荐阅读