2010-09-11 8 views
6

Puede alguien explicar por qué este código:clr.AddReferenceToFile() falla en IronPython 2.7

import sys 
sys.path.append("C:\\WINDOWS\\system32") 

import clr 
clr.AddReferenceToFile("wiimotelib.dll") 

funciona bien con IronPython 2.6, pero falla en IronPython 2.7 alpha 1 con una IOException, y el mensaje:

Could not add reference to assembly wiimotelib.dll 

¿Es este nuevo comportamiento en 2.7, o es un error de versión alfa?

Respuesta

4

¿Podría ser esto un problema de .NET 2 vs .NET 4? IronPython 2.7A1 es solo .NET 4.0. 2.6 tenían versiones .NET 2 y .NET 4. Si el conjunto es un ensamblado .NET 2, es posible que no se cargue en .NET 4 CLR.

+0

La DLL tiene más de un año de antigüedad, por lo que no será .NET 4. Supongo que tendré que esperar que una versión más nueva salga algún día. –

2

Debe volver a compilar el conjunto del WiimoteLib. He tenido el mismo problema. Después de la recompilación, desapareció.

0

Creo que en IronPython 2.7 fue eliminado la necesidad de la extensión "DLL":

usted podría intentar: clr.AddReferenceToFile("wiimotelib");

trabajado para mí.