Как создать библиотечный проект - PullRequest
4 голосов
/ 30 ноября 2010

Я вижу консольное приложение, WPF, WinForm, что-то еще

Но библиотеки нет, мне нужна просто библиотека.

Как мне ее обмануть?Или нет возможности создать библиотеку с Iron Python?

Ответы [ 4 ]

5 голосов
/ 01 декабря 2010

Я не знаю ни одного готового решения, но вы определенно можете написать свою библиотеку Python (используя, скажем, файлы с действием сборки "Нет", которые были добавлены в C # / VBПроект библиотеки классов .NET), затем вручную скомпилируйте их в DLL с помощью следующего фрагмента IronPython:

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

Если код изменяется достаточно часто, вы можете запустить этот сценарий как часть процесса сборки (и еслиэто занимает слишком много времени, вы можете добавить некоторый код для кэширования дат последнего изменения всех файлов и сравнить их перед сборкой).

Имейте в виду, что вам нужно будет написать некоторый код для доступа к вашей библиотеке из ваших проектов .NET (к сожалению, это не так просто, как добавить ссылку).

2 голосов
/ 04 декабря 2010

Проверка IronPython-2.7\Tools\Scripts\pyc.py - он может создавать как .exe, так и .dll из исходного кода Python.

ipy.exe pyc.py /out:my_dll /target:dll my_dll.py
1 голос
/ 27 мая 2011

SharpDevelop имеет IronPython - шаблон "библиотеки классов" для создания DLL-файлов IronPython.

1 голос
/ 01 декабря 2010

Насколько я понимаю, библиотечного проекта не существует, поскольку библиотеки DLL полностью проверяемы, но я могу ошибаться. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Дополнительная информация о этом сообщении в блоге .

...