C# DLL, вызываемая из PythonC#

Место общения программистов C#
Ответить
Anonymous
 C# DLL, вызываемая из Python

Сообщение Anonymous »

Недавно я создал dll, используя проект C# «Библиотека классов» в Visual Studio. Этот проект просто принимает на вход два целых числа и возвращает их сумму; если я попытаюсь вызвать эту dll из приложения C# Winform, созданного в Visual Studio, все будет работать нормально, но теперь я хотел бы вызвать эту dll из сценария Python3.
Вот мой " Библиотека классов":

Код: Выделить всё

using System;
using System.Runtime.InteropServices;

namespace DLLTest
{
[ComVisible(true)]
public class Class1
{
public int add(int n1, int n2)
{
return n1 + n2;
}
}
}
А вот мой код Python3:

Код: Выделить всё

from ctypes import *

mydll = cdll.LoadLibrary(r'C:\DLL path\mydll.dll')
result = mydll.add(3,5)
print(result)
Но когда я запускаю код Python, он возвращает:

Код: Выделить всё

Traceback (most recent call last):
File "C:\Programs\Python\Python37-32\test_dll.py", line 5, in 
result = mydll.add(3,5)
File "C:\Programs\Python\Python37-32\lib\ctypes\__init__.py", line 369, in
__getattr__
func = self.__getitem__(name)
File "C:\Programs\Python\Python37-32\lib\ctypes\__init__.py", line 374, in
__getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'add' not found
Я уже пытался запустить скрипт Python от имени администратора, но ничего не изменилось. Есть идеи?
Большое спасибо

Подробнее здесь: https://stackoverflow.com/questions/667 ... rom-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»