Laden...

CodeCompileUnit aus Source oder Assembly

Erstellt von webbi vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.578 Views
W
webbi Themenstarter:in
201 Beiträge seit 2007
vor 15 Jahren
CodeCompileUnit aus Source oder Assembly

Hallo!

Gibt es Funktionen um eine CodeDom.CodeCompileUnit aus Source-Text oder einem Assembly zu erstellen?
Hab mal eine Routine gebastelt, die ein Assembly ausliest, manuell ist aber das auslesen der CustomAttributes recht aufwändig…

lg

Programmieren ist der Wettkampf zwischen Programmierer die immer noch einfachere Programme schreiben
und Anwender die immer noch dümmer werden...

W
webbi Themenstarter:in
201 Beiträge seit 2007
vor 15 Jahren

Hallo!

Ich weiß, es ist nicht erwünscht, aber ich riskiere es jetzt einfach mal.
Habe mich nämlich immer mal wieder blöd gesucht wegen dem Thema, aber leider nie wirklich was Hilfreiches gefunden.
Vielleich hat da doch noch jemand eine Idee wenn der Beitrag nochmal aufcheint.

Danke

Programmieren ist der Wettkampf zwischen Programmierer die immer noch einfachere Programme schreiben
und Anwender die immer noch dümmer werden...

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo webbi,

ich hatte vor längerer Zeit auch mal danach geguckt und die gleiche Erfahrung gemacht, wie du. Es gibt da nichts komfortables/fertiges, um aus Code oder Assembly eine CodeDom-Baum zu machen.

Anderseits gibt es Tools wie PostSharp, die sowas können (Assembly lesen, ändern und wieder schreiben).

herbivore

W
webbi Themenstarter:in
201 Beiträge seit 2007
vor 15 Jahren

Hi herbi!

Danke, aber soweit ich das sehe nicht so ganz wich ich mir das vorstelle.
Und noch eine externe Komponente in die Applikation einbinden wollte ich auch nicht...
Aber gut, ich mach's manuel....

Danke

Programmieren ist der Wettkampf zwischen Programmierer die immer noch einfachere Programme schreiben
und Anwender die immer noch dümmer werden...

F
722 Beiträge seit 2005
vor 15 Jahren

ich habe danach auch ewigkeiten gesucht - ohne erfolg.
Mono.Cecil und PostSharp können zwar Assemblies lesen und ändern, sind aber in dem Sinne keine Parser. Das Objektmodell reicht "nur" bis zur Methodenebene (und dem darin enthaltenen IL Code).

Der einzige mir bekannte IL Parser ist der .Net Reflector von Lutz Roeder, der auch eine API dafür bietet, die ist allerdings für die Entwicklung von Reflector Add-Ins gedacht und das Objektmodell hat mit CodeDom auch nichts zutun.

Für mich ein klarer Fall für ein Open Source Projekt... =)

W
webbi Themenstarter:in
201 Beiträge seit 2007
vor 15 Jahren

Warum ich das vorher nicht gefunden habe verstehe ich auch nicht, aber CSharpCodeProvider.Parse erstellt eine CodeCompileUnit aus Source - jedenfalls laut Beschreibung - Ich hab's noch nicht versucht...

Programmieren ist der Wettkampf zwischen Programmierer die immer noch einfachere Programme schreiben
und Anwender die immer noch dümmer werden...

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo webbi,

CSharpCodeProvider.Parse ist nicht implementiert.

herbivore

W
webbi Themenstarter:in
201 Beiträge seit 2007
vor 15 Jahren

Hallo herbivore!

Das ist dann leider die Euphorie, wenn man um 3 Uhr morgens eine Methode findend 😦

Webbi

Programmieren ist der Wettkampf zwischen Programmierer die immer noch einfachere Programme schreiben
und Anwender die immer noch dümmer werden...