2010-09-11 25 views
6

Kann jemand erklären, warum dieser Code:clr.AddReferenceToFile() nicht in Ironpython 2.7

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

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

funktioniert mit Ironpython 2.6, aber nicht in Ironpython 2.7 Alpha 1 mit einer IOException, und die Nachricht:

Could not add reference to assembly wiimotelib.dll 

Ist dieses neue Verhalten in 2.7, oder ist es ein Alpha Release Bug?

Antwort

4

Könnte dies ein .NET 2 vs .NET 4 Problem sein? IronPython 2.7A1 ist nur .NET 4.0. 2.6 hatte sowohl .NET 2 als auch .NET 4 Versionen. Wenn die Assembly eine .NET 2-Assembly ist, wird sie möglicherweise nicht auf der .NET 4 CLR geladen.

+0

Die DLL ist weit über ein Jahr alt, also wird es nicht .NET sein. 4. Ich denke, ich muss hoffen, dass eine neuere Version eines Tages herauskommt. –

2

Sie müssen die WiimoteLib-Baugruppe neu kompilieren. Ich hatte das gleiche Problem. Nach der Neukompilierung war es weg.

0

Ich denke, in Ironpython 2.7 die Notwendigkeit für die "DLL" Erweiterung wurde entfernt:

Sie könnten versuchen: clr.AddReferenceToFile("wiimotelib");

für mich gearbeitet.