>백엔드 개발 >C++ >IronPython을 사용하지 않고 Python에서 C# 라이브러리를 호출하려면 어떻게 해야 합니까?

IronPython을 사용하지 않고 Python에서 C# 라이브러리를 호출하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-30 10:56:11613검색

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

Python에서 C# 라이브러리 호출

Python에서 C# 라이브러리를 호출하려는 시도는 일반적인 문제였습니다. IronPython과 같은 옵션에서는 호환성 문제가 발생할 수 있지만 대체 접근 방식은 Python에서 C# 코드를 호출하는 것입니다.

이를 달성하려면 다음 단계를 따르세요.

UnmanagedExports NuGet 패키지 활용

개요에 따라 "UnmanagedExports" NuGet 패키지를 .Net 프로젝트에 통합합니다. https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports.

COM 없이 함수 내보내기

"UnmanagedExports"를 사용하면 다음을 수행할 수 있습니다. COM 계층을 우회하여 함수를 직접 내보냅니다. 다음 샘플 C# 코드를 고려하세요.

using System;
using RGiesecke.DllExport;

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

Python(2.7)에서 내보낸 함수 로드 및 호출

Python에서는 DLL을 로드하고 내보낸 메서드를 호출할 수 있습니다. 다음과 같습니다:

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

위 내용은 IronPython을 사용하지 않고 Python에서 C# 라이브러리를 호출하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.