Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Kevin Lawrence 183 posts 350 karma points
    Oct 02, 2014 @ 18:38
    Kevin Lawrence
    0

    TypeLoadException when installing 1.4.0 onto 7.1.7

    Hi all

    As title, exception is:

    Could not load types from assembly Merchello.Core, Version=1.4.0.0, Culture=neutral, PublicKeyToken=null, errors:
    Exception: System.TypeLoadException: Method 'GetWhereClauses' in type 'Merchello.Core.Persistence.Querying.Query`1' from assembly 'Merchello.Core, Version=1.4.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.

    Issue logged:

    http://issues.merchello.com/youtrack/issue/M-414

    Any ideas anyone?

    Thanks

    Kev

  • Alex Lindgren 159 posts 356 karma points
    Oct 02, 2014 @ 19:26
    Alex Lindgren
    0

    Looks like Umbraco 7.1.7 is a breaking change for Merchello because the Merchello Query class uses Umbraco's IQuery interface which got changed.

  • Kevin Lawrence 183 posts 350 karma points
    Oct 02, 2014 @ 21:02
    Kevin Lawrence
    0

    Thanks Alex, I'll rollback to 7.1.6 until that's been fixed.

    Cheers

    Kev

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Oct 03, 2014 @ 14:57
    Rusty Swayne
    0

    Umbraco defines a public interface for IQuery

     IEnumerable<Tuple<string, object[]>> GetWhereClauses()  
    

    It's a good fix because it mitigates the impact of the memory leak (bug) in PetaPoco. Shannon describes it in his blog here if you're interested: http://shazwazza.com/post/petapoco-can-cause-high-memory-usage-with-certain-queries/

    This leaves us with the problem that the version of Merchello that will work with Umbraco 7.1.7 will not be backwards compatible with Umbraco 7.1.6 and earlier. Further every Plugin will need to be updated to use the 7.1.7 patched verion of Merchello as a dependency due to the GatewayProviderService in the GatewayProviderBase class.

    I have the update 99% complete (minus some unit test patches) but I am sorting out what should be done with the Merchello version. Probably the appropriate thing to do is to bump the major version of Merchello to 2.0.0 to better indicate the compatibility issues. If this happens, we'll not merge things into 1.4.1, release it, branch to 2.0.0 and then release the fix for 7.1.7 noting the breaking changes. We've started some things in 1.5.0 which would then become 2.1.0, 1.6.0 => 2.2.0, etc.

Please Sign in or register to post replies

Write your reply to:

Draft