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

Orestis Markou orestis at resolversystems.com
Thu Feb 5 19:27:55 CET 2009


Thanks!

Dino Viehland wrote:
> Yep, it's going to be back ported.  I'd say 2.0.1 will probably be in 2-3 weeks.
> 
> -----Original Message-----
> From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Orestis Markou
> Sent: Thursday, February 05, 2009 4:29 AM
> To: Discussion of IronPython
> Subject: Re: [IronPython] Two engines and clr.AddReference don't work together.
> 
> 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