Seite 1 von 1

Aus CPython heraus .NET nutzten?

Verfasst: Donnerstag 8. Januar 2009, 16:53
von jens
Kann man eigentlich auf einfache weise .NET Funktionen aus CPython heraus nutzten???

Würde gern JunctionPoint.Create nutzen, siehe: http://www.codeproject.com/KB/files/Jun ... tsNet.aspx

Verfasst: Donnerstag 8. Januar 2009, 17:30
von HerrHagen
Ich kenn nur das: http://pythonnet.sourceforge.net/
Habs allerdings noch nie ausprobiert...

Verfasst: Donnerstag 8. Januar 2009, 17:42
von jens
Ja klar. Aber ich möchte bei CPython bleiben ;)

Verfasst: Donnerstag 8. Januar 2009, 18:08
von Darii
Am einfachsten wird es wohl sein, ein simples .NET Programm zu schreiben, dass diese Funktionalität bereitstellt und das du dann per popen aufrufen kannst.

Verfasst: Donnerstag 8. Januar 2009, 18:13
von jens
Ja. Dann kann ich aber gleich cmd Programme nutzten, um links zu erzeugen.

Dachte es würde irgendwie durch win32 gehen oder so...

Verfasst: Donnerstag 8. Januar 2009, 20:23
von lunar
Es ist wohl theoretisch schon möglich, die Runtime zu laden und anschließend IL-Code auszuführen.

Aber findest du das nicht selbst ein bisschen sehr weit hergeholt, nur um einen Symlink zu erzeugen? Sicher, man kann von hier auch über Madrid nach Berlin fahren ...

Die C#-Klassen, die in diesem Artikel vorgestellt werden, rufen doch wahrscheinlich selbst nur die Windows-API auf. Das sollte sich doch wohl portieren lassen, wenn nicht mittels pywin32, dann doch zumindest durch ctypes. So schwer zu verstehen ist die .NET-Marshalling-API nun auch nicht.

Ich hätte mir das übrigens auch gerne selbst angeschaut, aber beim Klick auf den Link zu den Quellen hieß es "File Not Found".

Verfasst: Donnerstag 8. Januar 2009, 22:12
von Leonidas
lunar hat geschrieben:Es ist wohl theoretisch schon möglich, die Runtime zu laden und anschließend IL-Code auszuführen.
Es ist nicht nur theoretisch möglich, genau das macht Python.Net für CPython schon seit langem, noch bevor es IronPython gab.

Verfasst: Freitag 9. Januar 2009, 08:38
von jens
Leonidas hat geschrieben:genau das macht Python.Net für CPython
Du meinst http://pythonnet.sourceforge.net ? Werde ich mir mal ansehen.

EDIT: Ist wohl nicht mehr wirklich aktiv das Projekt. Letzte Release ist vom Sep.2007 :(
Letzte Aktivität im SVN ist 7 Monate her: http://pythonnet.svn.sourceforge.net/vi ... pythonnet/

Verfasst: Freitag 9. Januar 2009, 18:35
von Leonidas
Hast du es denn mal ausprobiert? So schnell ändert sich ja .NET von Version zu Version auch nicht, dass man jeden Tag hinterherpatchen müsste. Bei mir hat es damals durchaus gut funktioniert, weiß aber nicht was da für eine .NET-Version akuell war.

Letztendlich habe ich es nur installiert, etwas vom Umfang von Hallo Welt damit gemacht und das wars dann auch schon.

Verfasst: Samstag 10. Januar 2009, 12:03
von sma
Laut dieses Artikels gibt es doch ein Kommandozeilen-Programm, um diese Dinger anzulegen und wieder zu löschen. Da braucht es doch kein .NET. Und wenn es symbolische Links wie bei unix-artigen Dateisystemen sind, müsste dann nicht auch einfach "os.link" funktionieren?

Stefan

Verfasst: Samstag 10. Januar 2009, 12:33
von jens
Zum einen haben verschiedene Windows Versionen, verschiedene Tools. Bei Vista ist mklink dabei. Leider funktioniert das bei mir nicht wirklich. Es gibt immer Rechteprobleme als Fehlermeldung.
Mit dem sysinternals "junction.exe" funktioniert es. Da nutzte ich z.Z., siehe: http://www.python-forum.de/post-121865.html#121865

Schöner wäre es natürlich, wenn man das selbe per win32api machen könnte.