2010-11-30 7 views
4

콘솔 응용 프로그램, WPF, WinForm, 다른 것을 볼 수 있습니다.라이브러리 프로젝트를 만드는 방법

그러나 라이브러리가 없으므로 라이브러리가 필요합니다.

어떻게 속일 수 있습니까? 아니면 Iron Python으로 라이브러리를 만들 수있는 방법이 없습니까?

답변

4

기본 제공 솔루션에 대해 잘 모르겠지만 Python 라이브러리를 작성할 수 있습니다 (예 : C# /에 추가 된 빌드 작업이 "None"인 파일 사용) 당신이 빌드 프로세스의 일부로이 스크립트를 실행 (그리고 경우 수

import clr 
files = [ 'file1.py', 'file2.py' ] # Look into os.walk() if you have more than a few files 
clr.CompileModules('Foo.dll', *files) 

자주 코드 변경하는 경우 : VB.NET 클래스 라이브러리 프로젝트), 수동으로 다음 IronPython의 조각을 사용하여 DLL로 컴파일 시간이 너무 오래 걸리기 시작하면 모든 파일의 마지막 수정 날짜를 캐싱하고 빌드하기 전에 비교할 코드를 추가 할 수 있습니다.

.NET 프로젝트에서 라이브러리에 액세스하려면 some code을 작성해야합니다 (불행히도 참조를 추가하는 것만 큼 간단하지는 않습니다).

+0

링크가 ironpython 홈페이지로 연결됩니다. –

+0

@Chiel : 흠, 링크 썩음이 다시 나타납니다. 고침, 고마워! – Cameron

1

필자의 이해로는 DLL을 완벽하게 검증 할 수 있기 때문에 라이브러리 프로젝트가 없다는 것을 이해하지만 잘못된 것일 수 있습니다. this blog post에 대한 몇 가지 추가 정보가 있습니다. @Cameron이 게시 한 코드에 대해 좀 더 자세히 설명합니다.

+0

완벽하게 검증 가능한 DLL이란 무엇입니까? – Cameron

+0

간단한 설명은 http://msdn.microsoft.com/en-us/library/85344whh.aspx에서 VC++/clr : safe 스위치에 대한 설명을 참조하십시오. C#에서 안전하지 않은 코드를 사용하면 CLR에 검증되지 않은 C++와 동일한 영향을 미칩니다. –

2

확인 IronPython-2.7\Tools\Scripts\pyc.py - 파이썬 소스에서 .exe와 .dll을 모두 만들 수 있습니다.

ipy.exe pyc.py /out:my_dll /target:dll my_dll.py 
1

SharpDevelop에는 IronPython dll을 만들기위한 IronPython - "클래스 라이브러리"템플릿이 있습니다.

+0

좋은데, 나는 SD가 정말 좋아하지 않아. :) VS – Cynede

관련 문제