[IronPython] Two engines and clr.AddReference don't work together.

Orestis Markou orestis at resolversystems.com
Thu Feb 5 13:29:22 CET 2009


Hi Dino,

is this going to be backported to 2.0.x? If so, when should we expect a 
release?

We have a workaround right now, but to maintain API compatibility we 
probably have to monkeypatch clr.AddReference which is a nasty hack and 
we'd rather not do it :)

Regards,
Orestis Markou
Resolver Systems Ltd.

Dino Viehland wrote:
> Yep, and I'm happy to move back to the old behavior - being consistent w/ ourselves and broken seems better than being inconsistent w/ ourselves and broken :)
> 
> -----Original Message-----
> From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Michael Foord
> Sent: Friday, January 30, 2009 3:30 PM
> To: Discussion of IronPython
> Subject: Re: [IronPython] Two engines and clr.AddReference don't work together.
> 
> Dino Viehland wrote:
>> You're right that it worked in 1.0 - but of course in 1.0 we would also end up with an arbitrary ordering between engines.  For example you could have:
>>
>> Engine 1:
>>       Sys.path = C:\
>>               Contains "Foo.dll"
>>
>> Engine 2:
>>       Sys.Path = D:\
>>               Contains "Foo.dll"
>>
>> Which Foo.dll gets loaded? :)  Unfortunately we don't necessarily know what engine is actually making the request.  We can certainly go back to the 1.0 behavior in the mean time but I believe this will be truly fixed when we get better control over this in some future version of the CLR.
>>
> 
> Unfortunately the current behaviour breaks certain Resolver One
> functionality. With IronPython 1 users could put assemblies their
> spreadsheet systems depended on in the same directory as the spreadsheet
> and it 'just worked', which isn't the case with the IronPython 2 port.
> 
> Even if it isn't always guaranteed to be correct, the old behaviour was
> much better for us. :-)
> 
> Thanks
> 
> Michael
>> -----Original Message-----
>> From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Tom Wright
>> Sent: Friday, January 30, 2009 10:34 AM
>> To: Discussion of IronPython
>> Subject: [IronPython] Two engines and clr.AddReference don't work together.
>>
>> Hi,
>>
>> Having two engines in the same AppDomain causes interesting behaviour
>> when trying trying to add references.
>>
>> Only the sys.path of the first engine that was created seems to be taken
>> into account when calling clr.AddReference, the second sys.path is ignored.
>>
>> See
>> http://www.codeplex.com/IronPython/WorkItem/View.aspx?WorkItemId=20921
>> for more details and a repro.
>>
>> Tom Wright
>> Resolver Systems Ltd.
>> _______________________________________________
>> Users mailing list
>> Users at lists.ironpython.com
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.ironpython.com
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
> 
> 
> --
> http://www.ironpythoninaction.com/
> http://www.voidspace.org.uk/blog
> 
> 
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

-- 
Orestis Markou
Software Engineer,
Resolver Systems Ltd.
orestis at resolversystems.com
+44 (0) 20 7253 6372




More information about the Ironpython-users mailing list