Wie Sie ein C# - dll in IronPython
Habe ich eine dll mit C#. Wie kann die dll in IronPython. Ich habe versucht, fügen Sie die dll mit clr.AddReference("yxz.dll"). Aber es funktioniert nicht. Ich habe versucht, indem Sie die dll in das Ausführungs-Verzeichnis der IronPython-Skript. Noch schlägt es fehl, die besagt, dass "Name xyz kann nicht gefunden werden" beim Versuch, finden Sie die dll.
InformationsquelleAutor der Frage | 2009-07-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, es ist nicht zu finden die Datei, weil Sie nicht wissen, wo Sie suchen, finden Sie hier für eine detaillierte Erklärung, wie die clr.AddReference... () - Funktionen arbeiten.
InformationsquelleAutor der Antwort Matt Warren
ist der einfachste Weg wie vorgeschlagen von Jeff in die Kommentare. Dies funktioniert auch:
InformationsquelleAutor der Antwort Goswin
Den Erstellen .NET Klassen Dynamisch von IronPython Beispiel erzeugt eine assembly (die ist später auf der Festplatte gespeichert als "DynamicAsm.dll"). Es enthält eine Klasse namens "
DynamicType
", mit einer einzigen statischen Methode namens 'test
'. Diese Methode nimmt vier Ganzzahlen um und fügt Sie zusammen.Beachten Sie, dass das Beispiel verwendet die Klasse name in der
import
- Anweisung.InformationsquelleAutor der Antwort gimel
Diese:
InformationsquelleAutor der Antwort JayPS
Es ist besser, verwenden Sie clr.AddReferenceToFile(mit dem Namen) , weil es ein relativer Pfad.
Dann können Sie importieren Sie die Klassen, die durch import wie gewohnt:
oder
Empfehle ich Ihnen, Lesen Sie in diesem Buch , ist es sehr hilfreich. https://play.google.com/store/apps/details?id=com.gavin.gbook
InformationsquelleAutor der Antwort Gavin Zhang
Bekam ich dieses Verhalten nur von der IronPython-Konsole. Wenn ich ein Skript ausführen, es ist in Ordnung. Wenn ich ein Skript ausführen, das IronPython, sys.path enthält den absoluten Pfad zu meinem aktuellen Arbeits-Verzeichnis, damit es funktioniert. Wenn ich in der Konsole, sys.Pfad enthält nur ein '.' für das aktuelle Verzeichnis. Das mag erklären, den Unterschied im Verhalten.
Als ein bisschen hacky Lösung, ich habe eine Datei fixpath.py
Dann habe ich eingerichtet, eine Umgebungsvariable IRONPYTHONSTARTUP mit dem absoluten Pfad zu dieser Datei. Dann wenn ich meine IronPython-Konsole das Skript ausgeführt wird, und meine
sys.path
schließt einen absoluten Verweis auf meine aktuelle Arbeitsverzeichnis und der nachfolgende Aufrufeclr.AddReference
richtig funktionieren.InformationsquelleAutor der Antwort Aaron Milner