Search code examples
.netmonocross-platformpinvokecodefluent

Mono compatibility using CodeFluent.Runtime.Client


I runned a MoMa scan test on the CodeFluent.Runtime.Client assembly.

I got warnings about 138 P/Invokes calls, 10 NotImplementedException and 14 [MonoTodo] markers.

Does anyone know what kind of trouble I can encounter using this library across Mono for a crossplatform project ? Is there a way to precisly know the features I could use and which I could not ?

EDIT :

The P/Invoke calls, for the zip compression class I'm looking into, are done on :

CodeFluent.Runtime.Compression.x64.dll

CodeFluent.Runtime.Compression.x86.dll

CodeFluent.Runtime.Compression.dll

kernel32 (LoadLibrary() for x86 or x64 dlls)


Solution

  • CodeFluent.Runtime.Client.dll contains lots of useful classes. However some of them will only work on Windows :

    • WindowsUtilities,
    • Authenticode,
    • RegistryUtilities,
    • TemplateEngine as it uses Chakra (IE JavaScript engine),
    • Country as it uses Windows's GeoCode,
    • ZipFile as it uses a windows only native dll,
    • Icon GetFromExtension as it uses Windows Shell,
    • GetTokenElevationType

    This list is not exhaustive but contains the main classes.