2016-07-16 63 views
0

我正在使用Xamarin.forms制作应用程序。 (PCL项目)“Fody未正确安装”错误异常。 (Xamarin.forms)

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

我已经使用Xamarin领域。 但是,当我添加新的软件包后,“Realms.RealmException已被抛出”。 消息是“Fody没有正确安装,allbX.Baby是RealmObject,但没有编织。”

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

+0

我试图在此时再次从nuGet添加。它工作正常。从nuGet添加软件包和在工作区添加现有解决方案有什么区别? –

+0

当您添加现有项目(由于您无法添加解决方案而不是解决方案),您有责任确保它们确实可以编译,而如果您使用的是NuGet包,则不必担心。因此,如果你的情况,确保你研究GitHub仓库中的文档,并在继续前正确编译它们。 –

+0

@LexLi谢谢Lex,对于迟到的回复感到抱歉。这可能是其中一个原因。但我确定他们可以编译。 –

回答

0

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

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

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

背景 的NuGet管理的依赖关系,所以如果一个软件包依赖于境界,它会反过来去和安装领域。例如,Realm本身依赖于Fody,因此将触发Fody安装。

您可以手动安装Realm,但它有点烦琐,必须向csproj添加几行以指定导入。我们选择在此阶段仅通过NuGet文档安装。

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

+0

感谢回复@AndyDent –

+0

这不是引起问题的领域,而是现有项目(源)安装的其他包。但我能以同样的方式思考?谢谢。 –