Heim >Backend-Entwicklung >C++ >Wie kann ich C#-Bibliotheken aus Python aufrufen, ohne IronPython zu verwenden?

Wie kann ich C#-Bibliotheken aus Python aufrufen, ohne IronPython zu verwenden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-30 10:56:11585Durchsuche

How Can I Call C# Libraries from Python Without Using IronPython?

Aufrufen von C#-Bibliotheken aus Python

Der Versuch, C#-Bibliotheken aus Python aufzurufen, war ein häufiges Problem. Während Optionen wie IronPython auf Kompatibilitätsprobleme stoßen können, besteht ein alternativer Ansatz darin, C#-Code aus Python aufzurufen.

Um dies zu erreichen, befolgen Sie diese Schritte:

Verwenden des UnmanagedExports NuGet-Pakets

Integrieren Sie das NuGet-Paket „UnmanagedExports“ wie beschrieben in Ihr .Net-Projekt unter https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports.

Funktionen ohne COM exportieren

Mit „UnmanagedExports“ ist das möglich Exportfunktionen direkt unter Umgehung der COM-Schicht. Betrachten Sie diesen C#-Beispielcode:

using System;
using RGiesecke.DllExport;

class Test
{
    [DllExport("add", CallingConvention = CallingConvention.Cdecl)]
    public static int TestExport(int left, int right)
    {
        return left + right;
    }
}

Laden und Aufrufen exportierter Funktionen in Python (2.7)

In Python können Sie die DLL laden und die exportierten Methoden aufrufen wie folgt:

import ctypes
a = ctypes.cdll.LoadLibrary(source)
a.add(3, 5)

Das obige ist der detaillierte Inhalt vonWie kann ich C#-Bibliotheken aus Python aufrufen, ohne IronPython zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn