Exception on Signed Assembly

CanErtenCanErten Can ErtenGBMember, University

I developed and built my application using F# and C# successfully using Xamarin Mac.

It was all fine and finished development, until I switched to App Store compilation. The compilation goes fine, and signs all the assemblies. However when I run the application, the point where it reaches my F# library, throws an exception of

Could not bind function op_Division in type Microsoft.FSharp.Core.Operators

Alternative: Could not bind function {0} in type {1} whichever the first external call is

I tried other variations, and I get the same error with different functions and different assemblies. It looks like the assemblies are not linked to the library, not sure if that's possible since the compilation succeeded and that's the point with strongly typing?

I didn't see this exception during development and test.

Does anyone know why same code work fine on debug and release, but not on app store compiled (all it does it signs assemblies with developer key), and any idea for resolution?

Posts

  • AshokGelalAshokGelal Ashok Gelal USMember, Beta ✭✭

    Does anyone know why same code work fine on debug and release, but not on app store ...

    One reason that I can think of is that linking is enabled for AppStore release. If so, you can try link skipping your own dlls: --linkskip=MyAwesomeFSharpLib --linkskip=MyAwesomeCSharpLib

  • CanErtenCanErten Can Erten GBMember, University

    thanks Ashok, that didn't work not sure why, I wonder if the linker don't know how to handle fsharp libraries
    I did --linkskip=FSharp.Core --linkskip=mycs

    It seems to work with mycs but not the other

    Instead changing "Linker Behavior." to "Link Framework SDKs Only." rather than "Link All" fixes the issue.

Sign In or Register to comment.