Is there a way to use .NET DLL from Python

Fuzzyman fuzzyman at gmail.com
Thu Feb 7 15:30:25 EST 2008


On Feb 7, 2:35 pm, "Luis M. González" <luis... at gmail.com> wrote:
> On 7 feb, 05:52, Fuzzyman <fuzzy... at gmail.com> wrote:
>
>
>
> > Luis M. González wrote:
> > > On 6 feb, 21:17, Fuzzyman <fuzzy... at gmail.com> wrote:
> > > > On Feb 6, 9:59 pm, "Luis M. Gonz�lez" <luis... at gmail.com> wrote:
>
> > > > > On Feb 6, 6:27 pm, Huayang Xia <huayang.... at gmail.com> wrote:
>
> > > > > > Hello All,
>
> > > > > > I have several .NET DLL (I have no source code for them), is there
> > > > > > anyway to use them from python instead of from C#.
>
> > > > > > Thanks,
> > > > > > Huayang
>
> > > > > I used to put my .dll files into the .DLL folder, so I could simply
> > > > > import them as I would with any other python module.
> > > > > But since I started using Ironpython 2.0 Alpha* this doesn't work
> > > > > anymore...
> > > > > Any hint?
>
> > > > The rule is probably still that the DLLs must be in a directory on
> > > > sys.path for the interpreter to find them. Try adding the directory
> > > > containing the assemblies to sys.path and see if you can add
> > > > references to them.
>
> > > > Michael Foordhttp://www.manning.com/foord
>
> > > > > Luis
>
> > > I tried adding the directory to sys.path.
> > > Still not working...
>
> > > >>> import sys
> > > >>> sys.path.append('C:\Documents and Settings\luismg\Escritorio\IronPython-2.0A
> > > 8\DLLs')
> > > >>> from ClassLibrary1 import *
> > > Traceback (most recent call last):
> > >   File , line unknown, in ##235
> > >   File , line unknown, in _stub_##2
> > > ImportError: No module named ClassLibrary1
>
> > You need to add references to assemblies before you can import from
> > the namespaces they contain.
>
> > import clr
> > clr.AddReference('ClassLibrary1')
>
> > HTH
>
> > Fuzzymanhttp://www.manning.com/foord
>
> Oh, I know what you mean.
> But that was exactly the reason for having a .DLLs folder, isn't it?
> When you place an assembly into this folder, you avoid having to write
> this boilerplate code, and simply import the assembly as you would
> with a normal python module. At least, that´s how it worked in
> previous versions...

No. You have always had to add references to assemblies before being
able to use the namespaces they contain. You even have to do this with
C# in Visual Studio.

Michael
http://www.manning.com/foord



More information about the Python-list mailing list