2015-01-18 6 views
2

파이썬에서 기존 C# dll을 호출하려고합니다. Python for .NET과 Iron Python을 모두 사용해 보았습니다. 나는 Python 루트 바로 아래에 dll (LogAccess.dll)을 넣었다. Python 용 .NET의 경우 Python27 디렉토리 바로 아래에 있습니다. IronPython의 경우 IPy27 바로 아래에 있습니다.파이썬에서 C# dll을 호출하십시오.

import sys 
import clr 
clr.AddReference("LogAccess") 
from LogAccess import LogAccess 

이 시점에서 오류가 발생합니다. 이것은 Python for .NET 및 IronPython에서와 같은 상황입니다.

역 추적 (마지막으로 가장 최근 통화) : 파일 "제목 없음", 라인 4 clr.AddReference ('LogAccesss') FileNotFoundException이 : 어셈블리를 찾을 수 없습니다 'LogAccesss'. \ u5834 \ u6240 Python.Runtime.CLRModule.AddReference (문자열 이름)

무엇이 잘못 되었나요? C# dll을 만들 수있는 조건이 있습니까? dll이있는 규칙이 있습니까? 나는

import clr 

은 다음 Python27 내부에 파일을 넣어 시도 오류

그렇지 않은 경우에는 제공되지 않는/당신의 한 줄 거세한 숫양

+1

을 수행하는 방법 및 LogAccess.dll' '에 대한 절대 경로를 가져 오기를 시도 할 수 있습니다? 또한 포함 폴더가 조회 경로에 추가됩니다. 또한 차단 된 어셈블리를 볼 수도 있고 그 이유 때문에로드되지 않을 수도 있습니다. –

답변

2

먼저 확인 모듈 이름, 네임 스페이스와 주요 프로그램 이름 사이의 관계를 알고 wnat/Lib/Site-packages 디렉토리에 복사 한 후 동일하게 시도하십시오.

아니면 당신은 다음의 경로

import sys 
sys.path.append("yourDllPath") 

을 지정 당신이 IronPython의에서`clr.AddReferenceToFileAndPath`을 시도 할 수

관련 문제