Aus CPython heraus .NET nutzten?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 8. Januar 2009, 16:53

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

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
HerrHagen
User
Beiträge: 430
Registriert: Freitag 6. Juni 2008, 19:07

Donnerstag 8. Januar 2009, 17:30

Ich kenn nur das: http://pythonnet.sourceforge.net/
Habs allerdings noch nie ausprobiert...
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 8. Januar 2009, 17:42

Ja klar. Aber ich möchte bei CPython bleiben ;)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Donnerstag 8. Januar 2009, 18:08

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.
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 8. Januar 2009, 18:13

Ja. Dann kann ich aber gleich cmd Programme nutzten, um links zu erzeugen.

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

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
lunar

Donnerstag 8. Januar 2009, 20:23

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".
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 8. Januar 2009, 22:12

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Freitag 9. Januar 2009, 08:38

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/

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 9. Januar 2009, 18:35

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Samstag 10. Januar 2009, 12:03

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
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Samstag 10. Januar 2009, 12:33

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.

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten