[Python.NET] how can I build an assembly I can AddReference()?

Dave Hirschfeld 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')
>     C:\Users\brandon\dev\pythonnet\Brandon.dll
>     >>> 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 [2]: pwd
Out[2]: 'C:\\temp\\PythonDotNET'

In [3]: 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 [4]: import clr

In [5]: clr.AddReference('FactoryPattern')
Out[5]: <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 mailing list