我可以看到控制台应用程序,WPF,WinForm,还有其他东西
但是没有图书馆,我只需要一个图书馆。
我怎么欺骗它?或者没有办法用Iron Python创建库?
答案 0 :(得分:5)
我不知道任何开箱即用的解决方案,但你绝对可以编写你的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项目访问您的库(遗憾的是,这并不像添加引用那么简单。)
答案 1 :(得分:2)
检查IronPython-2.7\Tools\Scripts\pyc.py
- 它可以从Python源创建.exe和.dll。
ipy.exe pyc.py /out:my_dll /target:dll my_dll.py
答案 2 :(得分:1)
我的理解是没有库项目,因为DLL是完全可验证的,但我可能错了。 this blog post上有一些额外的信息,详细介绍了@Cameron发布的代码。
答案 3 :(得分:1)
SharpDevelop有一个IronPython - 用于创建IronPython dll的“类库”模板。