[Python.NET] how can I build an assembly I can AddReference()?
dave.hirschfeld at gmail.com
Fri May 28 09:52:14 CEST 2010
Brandon Craig Rhodes <brandon at ...> writes:
> I have only gotten as far as trying to AddReference() my new DLL, but
> have not been able to get it to succeed.
> >>> import clr
> >>> print clr.FindAssembly('Brandon')
> >>> clr.AddReference('Brandon')
> System.IO.FileNotFoundException: Unable to find assembly 'Brandon'.
> at Python.Runtime.CLRModule.AddReference(String name) in
> c:\Users\brandon\dev\pythonnet\src\runtime\moduleobject.cs:line 370
> You can see that, oddly enough, Python can find the assembly, but cannot
> create a reference to it.
Works for me:
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)]
Type "copyright", "credits" or "license" for more information.
IPython 0.10 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.
In : pwd
In : ls
Volume in drive C has no label.
Volume Serial Number is 90C1-4729
Directory of C:\temp\PythonDotNET
28/05/2010 08:35 <DIR> .
28/05/2010 08:35 <DIR> ..
26/10/2009 14:03 5,632 FactoryPattern.dll
1 File(s) 5,632 bytes
2 Dir(s) 188,252,098,560 bytes free
In : import clr
In : clr.AddReference('FactoryPattern')
Out: <System.Reflection.Assembly object at 0x03798DA0>
...but I was in the same directory as the dll. Are you in the same directory?
What happens if you try to put the full path? e.g.
If that doesn't work does using Assembly.LoadFile work? e.g.
from clr import System
from System import Reflection
full_filename = r'C:\temp\PythonDotNET\FactoryPattern.dll'
More information about the PythonDotNet