2010-11-30 95 views
4

我可以看到控制檯應用程序,WPF,WinForm,別的東西如何創建庫項目

但沒有庫,我只需要一個庫。

我怎麼可以欺騙呢?或者沒有辦法用Iron Python創建庫?

回答

4

我不知道任何超出現成的解決方案,但你絕對可以寫你的Python庫(使用,比如說,文件與已添加到C#「無」的生成操作/ VB.NET類庫項目),然後手動使用以下IronPython的片段它們編譯成DLL:

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

如果代碼經常變化的話,你可以運行該腳本生成過程的一部分(如果它開始花費太長時間,您可以添加一些代碼來緩存所有文件的最後修改日期並在構建之前進行比較)。

請記住,您需要編寫some code以從您的.NET項目(s)訪問您的庫(不幸的是,不像添加引用那麼簡單)。

+0

鏈接指向的IronPython – 2015-10-21 16:19:20

+0

@Chiel的主頁:嗯,再次將腐爛的罷工。現在修復,謝謝! – Cameron 2015-10-21 16:47:48

1

我的理解是,有沒有圖書館項目,因爲DLL是完全可驗證的,但我可能是錯上。在this blog post上有一些額外的信息,這些信息會在@Cameron發佈的代碼中詳細介紹。

+0

什麼是可完全驗證的DLL? – Cameron 2010-12-01 01:59:09

2

檢查IronPython-2.7\Tools\Scripts\pyc.py - 它可以創建從Python源.exe和.dll。

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

SharpDevelop有一個IronPython - 用於創建IronPython dll的「類庫」模板。