Ich kann Konsolenanwendung, WPF, WinForm, etwas anderes sehen
Aber es gibt keine Bibliothek, ich brauche nur eine Bibliothek.
Wie kann ich es überlisten? Oder gibt es keine Möglichkeit, eine Bibliothek mit Iron Python zu erstellen?
Ich kann Konsolenanwendung, WPF, WinForm, etwas anderes sehen
Aber es gibt keine Bibliothek, ich brauche nur eine Bibliothek.
Wie kann ich es überlisten? Oder gibt es keine Möglichkeit, eine Bibliothek mit Iron Python zu erstellen?
Ich weiß nicht von jeder Out-of-the-Box-Lösung, aber Sie können auf jeden Fall Ihre Python-Bibliothek schreiben (mit, sagen wir, Dateien mit einer Build-Aktion von "None", die zu einem C#/VB.NET-Klassenbibliothek-Projekt hinzugefügt wurden), dann manuell kompilieren sie in eine DLL mit dem folgenden IronPython Snippet:
import clr
files = [ 'file1.py', 'file2.py' ] # Look into os.walk() if you have more than a few files
clr.CompileModules('Foo.dll', *files)
Wenn sich der Code oft genug ändert, können Sie dieses Skript als Teil des Erstellungsprozesses ausführen (und wenn es zu lange dauert, können Sie etwas Code hinzufügen, um das Datum der letzten Änderung aller Dateien zu speichern und vor der Erstellung zu vergleichen).
Denken Sie daran, dass Sie Folgendes schreiben müssen einige Codes um von Ihren .NET-Projekten aus auf Ihre Bibliothek zuzugreifen (es ist leider nicht so einfach, einen Verweis hinzuzufügen).
Meines Erachtens gibt es kein Bibliotheksprojekt, da die DLLs vollständig überprüfbar sind, aber da könnte ich mich irren. Es gibt einige zusätzliche Informationen auf dieser Blogbeitrag die den Code, den @Cameron gepostet hat, etwas ausführlicher behandelt.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.