【问题标题】:"Fody not properly installed" error exception. (Xamarin.forms)“Fody 未正确安装”错误异常。 (Xamarin.forms)
【发布时间】:2016-07-16 09:56:22
【问题描述】:

我正在使用 Xamarin.forms 制作应用程序。 (PCL 项目)

今天,我在从 github 下载的工作空间中添加了三个新的解决方案包,名为 SVG.Forms.Plugin.Abstractions、SVG.Forms.Plugin.iOS、SVG.Forms.Plugin.Android。

我已经为 Xamarin 使用了领域。 但是在我添加新包之后,“Realms.RealmException 已被抛出”。 消息是“Fody 未正确安装。allbX.Baby 是一个 RealmObject 但尚未编织。”

是 Fody 的问题还是 Realm 的问题或新软件包的问题(SGV Control)? 你能告诉我如何解决吗?

【问题讨论】:

  • 我此时尝试从 nuGet 再次添加。它工作正常。从 nuGet 添加包和在工作区添加现有解决方案有什么区别?
  • 当您添加现有项目时(不是解决方案,因为您无法添加解决方案),您有责任确保它们确实可以编译,而如果您使用 NuGet 则无需担心包。因此,如果您遇到这种情况,请确保在继续之前研究这些 GitHub 存储库中的文档并正确编译它们。
  • @LexLi 感谢 Lex,抱歉回复晚了。这可能是原因之一。但我确信它们可以编译。

标签: svg xamarin xamarin.forms realm fody


【解决方案1】:

更好的答案 传递该消息的检查是因为 Fody 没有运行。

因此,他们的组件中可能有一个 RealmObject,但 Fody 没有在您的解决方案中运行构建,因此 编织 不会发生。

最简单的解决方法是仅使用 NuGet 将 Fody 添加到您的主应用程序项目中。这应该将它安装在解决方案的正确位置。

背景 NuGet 管理依赖关系,因此如果一个包依赖于 Realm,它将依次继续并安装 Realm。例如,Realm 本身依赖于 Fody,因此会反过来触发 Fody 安装。

您可以手动安装 Realm,但这有点繁琐,必须在 csproj 中添加几行来指定导入。在此阶段,我们选择仅记录通过 NuGet 进行的安装。

如果您想在不使用 NuGet 的情况下手动将 Realm 添加到另一个解决方案,我建议您采用新的干净解决方案,保存一份副本,然后通过 NuGet 添加 Realm 来比较对该解决方案所做的更改。然后,您将看到要复制到现有解决方案中的行。

【讨论】:

  • 感谢@AndyDent 的回复
  • 导致问题的不是领域,而是现有项目安装的其他软件包(源)。但我可以这样想吗?谢谢。
猜你喜欢
  • 1970-01-01
  • 2018-06-30
  • 1970-01-01
  • 2017-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-19
相关资源
最近更新 更多