Maison >développement back-end >C++ >Comment puis-je appeler des bibliothèques C# depuis Python sans utiliser IronPython ?

Comment puis-je appeler des bibliothèques C# depuis Python sans utiliser IronPython ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-30 10:56:11575parcourir

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

Appeler des bibliothèques C# à partir de Python

Tenter d'invoquer des bibliothèques C# à partir de Python est un problème courant. Bien que des options telles qu'IronPython puissent rencontrer des problèmes de compatibilité, une approche alternative consiste à appeler du code C# à partir de Python.

Pour y parvenir, suivez ces étapes :

Utilisation du package NuGet UnmanagedExports

Intégrez le package NuGet « UnmanagedExports » dans votre projet .Net, comme indiqué dans https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports.

Exportation de fonctions sans COM

Avec "UnmanagedExports", vous pouvez exporter fonctionne directement, en contournant la couche COM. Considérez cet exemple de code C# :

using System;
using RGiesecke.DllExport;

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

Chargement et appel de fonctions exportées en Python (2.7)

En Python, vous pouvez charger la DLL et appeler les méthodes exportées comme suit :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn