Confusion on Weavers?



Suddently I have started to get this error, when i try to compile my project. I have upgradet to version 2.2.0 of the Realm.Database and newest update from Xamarin:

Error: Fody: The weaver assembly ‘RealmWeaver.Fody, Version=, Culture=neutral, PublicKeyToken=null’ references an out of date version of Mono.Cecil.dll. Expected strong name token of ‘1C-A0-91-87-7D-12-CA-03’ but got ‘50-CE-BF-1C-CE-B9-D0-5E’. The weaver needs to update to at least version 3.0 of FodyHelpers. (FerryApp)

Any hints on this?



Can you try to downgrade your Fody version? Seems like they shipped 3.0, but we haven’t upgraded our dependency to work with that.


What is the timeline to upgrade? I am getting the same error. I think you might want to rethink your dependency on fody.


Why do you think we should do that? Fody allows us to expose very nice API without asking the developer to write tons of boilerplate. As mentioned, you can easily downgrade Fody to 2.x and get rid of the error. Is there a particular reason you need Fody 3.x?


I am not saying ditching Fody. I said rethink as in given your dependency on Fody you should know and be prepared for the update or ship the version of Fody as part of your Nuget package.

I have no need for 3.x. It came up because I was adding a new app. I added Fody and never looked at the version. Also, we continually update until shipping. Especially with Xamarin Forms 3.0 coming out, constant updates due to changes in iOS and Android, and .NET Standard. Until .NET Standard settles down packages are constantly changing to catch up.


In general, Fody upgrades haven’t been breaking which is why we have only required minimum version of the dependency. I guess we can convert that to a version range and assume that only major versions may be breaking for us.


Now you are getting it! That sounds like good ideas.


Downgraded and it works again (sorry for late reply, had forgot to Submit my answer)