2010-09-11 5 views
6

Quelqu'un peut-il expliquer pourquoi ce code:clr.AddReferenceToFile() échoue dans IronPython 2.7

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

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

fonctionne très bien avec IronPython 2.6, mais échoue dans IronPython 2.7 alpha 1 avec un IOException, et le message:

Could not add reference to assembly wiimotelib.dll 

Est-ce nouveau comportement dans 2.7, ou est-ce un bug de version alpha?

Répondre

4

Serait-ce un problème .NET 2 vs .NET 4? IronPython 2.7A1 est .NET 4.0 seulement. 2.6 avait les versions .NET 2 et .NET 4. Si l'assembly est un assembly .NET 2, il se peut qu'il ne soit pas chargé sur le .NET 4 CLR.

+0

La DLL a plus d'un an, donc ce ne sera pas .NET 4. Devinez, je vais devoir espérer qu'une version plus récente sortira un jour. –

2

Vous devez recompiler l'assemblage WiimoteLib. J'ai eu le même problème. Après la recompilation, il était parti.

0

Je pense que dans IronPython 2.7 a été supprimé la nécessité de l'extension "DLL":

Vous pouvez essayer: clr.AddReferenceToFile("wiimotelib");

a marché pour moi.