【问题标题】:Xamarin Forms Prism Can't access PCL classes from android projectXamarin Forms Prism 无法从 android 项目访问 PCL 类
【发布时间】:2018-04-04 07:17:04
【问题描述】:

我正在使用 Xamarin Forms Prism,但无法在 android 项目中使用我的 PCL 类。
常见示例:
这是PCL中的接口

namespace BlankApp.Helpers
{
   public interface IToast
   {
      void MakeLongToast(string msg);
   }
}

这是android项目中的类

namespace BlankApp2.Droid.DependencyService
{
   public class ToastImp : IToast
   {
   }
}

找不到 IToast 接口参考!

IDE 建议使用此消息:“参考 'projectname-WebAppMAinModule' 并使用 'projectname.Helpers.IToast'”
screenshot

实际上什么也没做!
我在使用 Prism 时遇到主题的 XamarinForms 中没有这类问题。我是否在引用我的 PCL 时忘记了什么?

我正在使用
Prism.Forms (7.0.0.396) Xamarin.Forms (2.5.0.122203)
还有我的项目依赖项 here

【问题讨论】:

  • 您使用的是什么 Prism 版本 - 让我们看看一些代码。您将很快了解到堆栈溢出用户不喜欢屏幕截图代码。这是一种懒惰
  • @LeRoy 实际上没有代码!我只是在从 android 项目访问 PCL 类时遇到问题。我还编辑了帖子;))

标签: xamarin.forms prism


【解决方案1】:

您应该能够在您的平台特定代码(包括 Android)中实现 PCL 接口并使用其类等。

使用以下步骤:

  1. 确保您的 Android 项目正在引用您的 PCL。

  2. 删除您的 Android obj 和 bin 文件夹。

  3. 重新编译您的 PCL

  4. 重新编译您的 PCL 后,重新编译您的 Android 项目

看看它现在是否能识别你的界面。

如果上述方法不起作用,那么最后一个选项是:

  1. 关闭解决方案
  2. 重新打开解决方案

这两种方法通常在您的项目无法识别新创建的接口时起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多