Seite 1 von 1

C# DLL mit Python verwenden

Verfasst: Freitag 8. Oktober 2010, 11:08
von B-Baer
Hallo,
ich versuche gerade in Python meine C# DLL einzubinden leider mit wenig Erfolg...

hat jemand eine andere Idee?

dll:

Code: Alles auswählen

using System;
using System.Collections.Generic;
using System.Text;

namespace umfragetest
{
    public class umfragetest
    {
        public string test()
        {
            return "Das klappt schon!";
        }
    }
}

python:

Code: Alles auswählen

import ctypes
from ctypes import cdll
from ctypes import *

xdll = cdll.LoadLibrary('MyDLL.dll')
xdll.umfragetest.test()

func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'umfragetest' not found

Re: C# DLL mit Python verwenden

Verfasst: Freitag 8. Oktober 2010, 11:33
von lunar
ctypes kann keine .NET-Assemblies laden. Wie bist Du denn darauf gekommen?!

Re: C# DLL mit Python verwenden

Verfasst: Freitag 8. Oktober 2010, 11:37
von B-Baer
hatte schon mal c++ dll's damit eingebunden und dachte ich versuche es mal :roll:

Die Frage bleibt aber bestehen, wie binde ich denn C# DLL's ein?

Re: C# DLL mit Python verwenden

Verfasst: Freitag 8. Oktober 2010, 11:59
von BlackJack
@B-Baer: C#-DLLs sind keine "richtigen" DLLs. Da steht .NET-Bytecode drin und kein Maschinencode für den Prozessor der zudem noch den Konventionen entspricht, die ihn wie compilierten C Quelltext aussehen lassen (Aufrufkonventionen, Namensgebung usw.).

Kommt IronPython in Frage? Falls es nicht noch eine andere "Brückentechnologie" gibt, könntest Du in C# auch einen XML-RPC oder JSON-RPC Server schreiben und den von Python aus dann ansprechen.