Announcement

Collapse
No announcement yet.

Accessing C# DLL From EFS

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Accessing C# DLL From EFS

    We have developed a C# .NET assembly to log trade calls to XML in an automated strategy.

    I have set up a reference to the dll in the efs and it appears to load ok.

    However, none of the functions are callable, I get 'Function <function name> was not found.

    Reading through forums and what not, it appears that the DLL has to be in some C or C++ format (for managed code???).

    Is this the case, or are we doing something really silly and C# DLL's and function should be accessible?

    Anyone else encountered similar issues?

  • #2
    Further to this

    I thought I should explain the dev environment we are using.

    Firstly we developed the assembly in VS 2008 Developer edition, selecting .NET 2.0 as the framework. Esignal can find the generated and deployed dll, but can't find any functions.

    So, we redeveloped on VS 2005, again on the .NET 2.0 framework, and deployed the DLL. This time, eSignal CAN'T EVEN FIND THE DLL, even though its the same name as the VS 2008 developed one and in exactly the same location.

    I've read around that there are support issues on versions of VS used. Do I need to get a VS 2003 version going here?

    What on earth is going on?

    Comment


    • #3
      I get exactly the same problem

      The only thing I can find is a post from 2007 saying only .net 1.1 works (which is a bit pants if it's still true seeing as the rest of the planet is working towards .net 4)

      I did find the post below which allows you to use VS 2008 to compile to 1.1 which might be a way round

      http://blogs.msdn.com/jomo_fisher/ar...22/410903.aspx

      Comment


      • #4
        Accessing C# DLL From EFS

        I followed the instructions to compile in NET 1.1 on VS 2008 but still no result.

        May be worth giving this a try on VS 2005.

        Failing that, looks like I need to source VS 2003 from a car boot sale somewhere!

        This reallt is a pain as I can't be the first to encounter this with no work around.

        I now firmly believe this is a configuration issue whether it be configuration of the .NET framework, or configuration of the DLL on the target server.

        Either way, WTF is going on!

        Comment


        • #5
          Just save yourself a bunch of time and rewrite your code in the C language with one of the multitude of free C XML libraries out there. You can use something simple like the free Pelles C IDE which has no problem generating compatible DLL's for eSignal's EFS.

          eSignal makes if very clear that C# DLL's are not compatible with their DLL Object.

          Your task would be just as simple to write in C as it would be in C#, esp. since you don't have to write any functions to generate XML.

          Comment


          • #6
            I could do but.....

            If I can find 20 lines of C++ to interface between esignal and .net then I don't have to re-write 2,000 lines of C#

            I don't know the C++ equivalents of some of the net libraries

            My .net code calls other 3rd party .net dlls so (since I can't use any .net code) I would also need to write functions to replace them as well.

            The first two just mean lots of time but the third one would take months as I don't have source code for the 3rd party dlls

            Comment

            Working...
            X