在命名空间中找不到 Xamarin.Forms 类(仅在 iOS 上)



>我有一个Xamarin.Forms解决方案,它由几个PCL和特定于设备的项目组成:

  • MyApp.Controls (Portable)
      Helper
    • (MyApp.Controls.Helper)
  • MyApp.App(便携式)
  • 我的应用.iOS
  • 我的应用安卓

MyApp.App 是我的主要实现,其中实现了App.xaml和所有Views/ViewModels。此项目引用 MyApp.Controls,并通过 xmlns 在 XAML 中引用此项目。XAML 引用在 Android 上工作正常,但在 iOS 上我得到以下异常:controls:MyClass not in xmlns clr-namespace:MyApp.Controls.Helper;assembly=MyApp.Controls

我不知道为什么"MyClass"不能在iOS上解析。我正在使用Xamarin.Forms 2.3.3.180。

这很可能是因为程序集没有使用 C# 代码,因此编译器不包含它。您可以通过在应用程序委托中添加快速代码存根来确认这一点。例如

new MyClass();

只需在 DoneLaunch 方法中添加类似这样的一行,编译器就会知道您正在使用引用程序集中的代码,并将包含代码。如果这确实是问题所在,您可以做一些稍微漂亮的事情,例如在该库中包含一个Init方法。

最新更新