[Ironpython-users] Assembly references: file does not exist?

Curt Hagenlocher curt at hagenlocher.org
Wed Jun 29 03:12:29 CEST 2011


Arg; I see we've now adopted the annoying python.org convention of replies
not going to the list by default. :(

You can use ILDASM, ILSpy or Reflector to see what assemblies yours is
dependent on. Now that Reflector costs money, ILSpy is probably the best
option for a quick check (though Reflector may be worth paying for if you do
a lot of .NET development).

On Tue, Jun 28, 2011 at 8:52 AM, Dave Peterson <
dpeterson at broadwaytechnology.com> wrote:

> Hi Curt,****
>
> ** **
>
> I had actually tried ( 1 ) below first.  That is, change my sample code to
> this:****
>
>         import sys****
>
>         sys.path.append(r”D:\path\to\my”)****
>
>         import clr****
>
>         clr.AddReference(‘dll’)****
>
> ** **
>
> Which, while it changes the error message, still fails.   Here’s the new
> error message:****
>
>                 IOError: System.IO.IOException: Could not add reference to
> assembly dll****
>
>                    at IronPython.Runtime.ClrModule.AddReference(CodeContext
> context, String name)****
>
>                    at IronPython.Runtime.ClrModule.AddReference(CodeContext
> context, Object reference)****
>
>                    at IronPython.Runtime.ClrModule.AddReference(CodeContext
> context, Object[] references)****
>
>                    at
> Microsoft.Scripting.Interpreter.ActionCallInstruction’2.Run(InterpretedFrame
> frame)****
>
>                    …. ****
>
> ** **
>
> I’ve tried ( 2 ) as well, and while some of the known dependencies load
> successfully – showing that the process works – some do not.  This could
> mean I’m confused on my dependencies – is there a tool which will show what
> assemblies a given assembly requires?****
>
> ** **
>
> -- Dave****
>
> ** **
>
> *From:* Curt Hagenlocher [mailto:curt at hagenlocher.org]
> *Sent:* Tuesday, June 28, 2011 3:11 PM
> *To:* Dave Peterson
> *Subject:* Re: [Ironpython-users] Assembly references: file does not
> exist?****
>
> ** **
>
> .NET doesn't generally load dependent assemblies just because they're in
> the same directory from which you're doing a LoadFrom. I seem to recall that
> there are two ways of handling this:****
>
>  ****
>
> 1) Add the directory to sys.path and then use clr.AddReference (without the
> full path)****
>
> 2) Explicitly load the dependencies first before loading the dependents.**
> **
>
> On Tue, Jun 28, 2011 at 6:25 AM, Dave Peterson <
> dpeterson at broadwaytechnology.com> wrote:****
>
> Hello,****
>
>  ****
>
> I’m relatively new to IronPython and .Net, but reasonably familiar with
> Python.   I’m trying to write a .py script to use one of my employer’s .NET
> dlls but whenever I try to AddReferenceToFileAndPath() I get an error:****
>
>         IOError: System.IO.IOException: file does not exists:
> D:\path\to\my\dll****
>
> However, the DLL definitely exists at D:\path\to\my\dll and indeed works
> from there using my employer’s app.   ****
>
>  ****
>
> I’m using the newest IronPython (just downloaded from the site and
> installed today using the installer):****
>
>         IronPython 2.7 (2.7.0.40) on .NET 4.0.30319.225****
>
>  ****
>
> My latest attempted code is as below, though I’ve tried a lot of various
> combinations:****
>
>         import sys****
>
>         sys.path.append(r”D:\path\to\my”)****
>
>         import clr****
>
>         clr.AddReferenceToFileAndPath(r”D:\path\to\my\dll”)****
>
>  ****
>
> That last line raises the exception mentioned above with a stack trace
> where the first two lines are both from the IronPython’s ClrModule.  I may
> be barking up the wrong tree here, but it leads me to believe that my entry
> DLL is trying to load another DLL and the system can’t find the other one,
> even though it is in the same directory as the first dll.   Here’s the first
> two lines of the stack trace (I can’t copy’n’paste off the work machine
> where this is happening due to security constraints.)****
>
>  ****
>
>         at
> IronPython.Runtime.ClrModule.AddReferenceToFileAndPath(CodeContext context,
> String file)****
>
>         at
> IronPython.Runtime.ClrModule.AddReferenceToFileAndPath(CodeContext context,
> String[] files)****
>
>  ****
>
>  ****
>
> Thanks in advance,****
>
>  ****
>
> -- Dave****
>
>  ****
>
>  ****
>
>  ****
>
>
> _______________________________________________
> Ironpython-users mailing list
> Ironpython-users at python.org
> http://mail.python.org/mailman/listinfo/ironpython-users****
>
> ** **
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20110628/7b5a4857/attachment-0001.html>


More information about the Ironpython-users mailing list