Userskripte zur laufzeit compilieren und ausführen



  • Net_Hans schrieb:

    naja mir steht nur das FrameWork bis 2.0 zur verfügung ... mehr will unsere IT-Abteilung nicht installieren ... und somit bin ich da ein wenig gebunden.

    btw - ist da nichts zu machen ? mir wuerde als entwickler im traum nicht einfallen mich von nem it'ler derartig kastrieren zu lassen - so kann man nicht arbeiten
    hast du kein entwickler pc ? bei uns koennen nur die "nicht-entwickler" nichts installieren auf deren pc

    wie soll man denn so richtig arbeiten wenn es "die it" nicht erlaubt - tze



  • Mal ein paar Stichworte und Links:

    Google: CSharpCodeProvider
    Google: C# code zur laufzeit kompilieren

    http://www.codeproject.com/KB/codegen/Run-Time_Code_Generation1.aspx

    Der Hintergedanke dabei: Du hast ohnehin das .Net Framework X.Y installiert was alles für die Erstellung mit bringt und einen definierten Zustand hat.

    Der C Compiler (C++) benötigt ja auf dem Zielsystem eine Einrichtung, Header etc. (Eventuelle Konflikte wenn bereits ein Compiler vorhanden ist.)

    Ein Blick könnte sich lohnen.



  • Mr Evil schrieb:

    btw - ist da nichts zu machen ? mir wuerde als entwickler im traum nicht einfallen mich von nem it'ler derartig kastrieren zu lassen - so kann man nicht arbeiten
    hast du kein entwickler pc ? bei uns koennen nur die "nicht-entwickler" nichts installieren auf deren pc

    wie soll man denn so richtig arbeiten wenn es "die it" nicht erlaubt - tze

    Ich bin ebenfalls an das .Net 2.0 Framework gebunden. Man kann auch damit vernünftig arbeiten. Es geht ja nicht nur um den Entwicklungsrechner - es geht ja auch um die Systeme, die später die geschriebene Software verwenden. Das Ausliefern von .Net 2.0 (~30MB) ist im einfacher als die Auslieferung von .Net 3.5 (~350MB). Der Job als Entwickler hängt primär davon ab, wie der Absatz der geschriebenen Software ist. Deine Aussage finde ich persönlich daher ein wenig an der Realität vorbei.



  • **Danke Knuddlbaer,

    dieser Ansatz mit dem CodeProvider klingt richtig interessant. Diesen Ansatz werde ich mal versuchen Danke ...**

    @Mr Evil

    Mr Evil schrieb:

    btw - ist da nichts zu machen ? mir wuerde als entwickler im traum nicht einfallen mich von nem it'ler derartig kastrieren zu lassen - so kann man nicht arbeiten
    hast du kein entwickler pc ? bei uns koennen nur die "nicht-entwickler" nichts installieren auf deren pc

    wie soll man denn so richtig arbeiten wenn es "die it" nicht erlaubt - tze

    Also ich muss mich der Meinung von Knuddlbaer anschließen. Es gibt nun mal Unternehmen, wo eine Große IT-Abteilung dahintersteht und die den Ton in sachen Software angibt ... tja und wenn die entscheidet FrameWork 3.5 is nicht ... dann ist das nicht. Da kann ich mich auf den Kopf stellen



  • ich arbeite auch in einer groesseren firma (>400 leute)
    wir entwickeln auch applikationen mit c#
    und man geht davon aus das - wenn die benutzer die applikation haben wollen - sie auch das neueste framework verwenden - ist dann mit windows 7 eh wieder n standard
    (seit wann liefert man das framework mit aus ? third party software hat auf dem eigenen gm nix zu suchen sofern es nicht eingekauft wurde - bei directx hatts man nur aus gefaelligkeit gemacht , aber eigentlich auch nicht richtig)

    ich seh das wie mit direct x - nur weil mache dx10 nicht haben wegen was auch immer - ist das kein grund das game nicht zu entwickeln oder auf ein veraltetes system zu bauen

    und was eine software braucht und unterstuetzt - seit wann wird das von der it bestimmt ? ist ja laecherlich
    das macht der solution architekt, und auch der techinal project leader hat da mit zu reden (wozu hat man sonst das software architect office) - aber doch nicht die it also bitte

    die it supported die software und maintaint die hardware - mehr haben die nicht zu tun - ist ja auch genug

    //dazuedit

    ich sollte noch erwaehnen das es nicht so ist das die it keine rechte haette - die it verifiziert auch sachen um den jeweiligen leuten mitteilen zu koennen ob man etwas produktiv einsetzen kann oder nicht
    bei uns wird seit einer weite das vista sp2 verifiziert - aber die endgueltige entscheideung trifft keineswegs die it - die liefern nur die test ergebnisse



  • Willkommen in der Welt der Realität 🤡 Der Kunde kann eine IT haben die bestimmt wo es lang geht. In der Industrie liefest man zudem eine komplette Lösung. Der Kunde Beauftrag eine Lösung und will auch alles dafür erhalten damit es läuft.

    In der Industrie findest Du auch noch Windows 98 Rechner auf denen die "Lösung" laufen muss - da ist kein Geld für immer das neueste.



  • unsere kunden sind die endkunden wie du und ich privat
    und das weltweit - aber du sagst es selber
    "der kunde kann eine it haben"
    das bedeutet aber nicht das die eigene it irgendwas zu sagen haette #gg
    und genau um darum gings ja - die eigene it
    wenn ein kunde da ist der maximal .net 2.0 moechte (oder kann) ist das natuerlich was anderes



  • Ok, da mag der Unterschied sein. Privatkunde und Industrie =o)



  • und das wie gesagt aendert nichts daran das die eigene it einen nichts zu verbieten hat
    was mich auf meine urspruengliche aussage zurueck bringt "mir wuerde als entwickler im traum nicht einfallen mich von nem it'ler derartig kastrieren zu lassen"
    so wie sich sein post liegt hatts seine it pauschal "verboten" und da wirds dann laecherlich
    (es steht nirgends das er wegen ein kunden nicht kann sondern nur das es die it nicht erlaubt [darueber kann ich immernoch lachen "die it nicht erlaubt" #ggg)



  • Es gibt unternehmen in dem die IT sagt was gemacht werden darf und was nicht. Je größer das Unternehmen (Konzern) um so heftiger die Regelungen. Wer sich nicht an die Vorschriften hält darf sich dann auf dauer einfach einen neuen Job suchen.

    Nicht selten geht es auch einfach wie in einem Kindergarten zu. Wer mit dem "höheren" Rang sagt wird so gemacht und fertig.

    Die Softwareentwicklung kann durchaus nur ein unterstellter Teil sein - vor allem wenn sie nicht zum Hauptgeschäft gehört. (Das ist dann nicht lächerlich sondern traurig. Man bekommt dann aber kein Gehalt - man nennt es einfach Schmerzensgeld und schon geht es wieder =o))



  • gerade in groesseren betrieben gibt ganz andere zustaendige abteilungen die das sagen haben
    die it ist es eher in den kleineren betrieben
    (klar sollte man es sich mit der it nicht verscherzen - aber zu sagen haben die auch nichts)

    ich hab auch noch nie ein it'ler beim sao meeting sitzen sehen, oder beim tpl meeting, oder release manager meeting
    die haben schliesslich zu arbeiten waerend die die sich auskennen die entscheidungen treffen ... (welcher it mensch kennt in grossen betrieben schon die software architektur und komponenten)

    (ich bin aber auch nur ein einfacher entwickler - in den meetings geh ich meistens als vertretung meines team leaders oder department managers #nerv)

    [irgendwie sind wir vom thema ab gekommen #gg]



  • Net_Hans schrieb:

    Ja die Sprache dahinter den Skripten ist relativ egal, am besten wäre natürlich, wenn der volle funktionsumfang zugänglich wäre.

    Dann nimm Lua. Viel einfacher als mit "LuaInterface" geht's IMO nicht.
    Da kannst du direkt "DoString" oder "DoFile" machen. Vollständig interpretiert, nix wird kompiliert, keine Temp-Dateien, und nahezu vollständiger Zugriff auf .NET Klassen und deren Funktionen möglich.

    http://luaforge.net/projects/luainterface/



  • Knuddlbaer schrieb:

    In der Industrie findest Du auch noch Windows 98 Rechner auf denen die "Lösung" laufen muss - da ist kein Geld für immer das neueste.

    Ja. Wobei es glaube ich öfter der Fall ist, dass Win98 aus irgendeinem bestimmten Grund nicht getauscht werden kann, den zu beseitigen *wirklich viel* Geld kosten würde (irgendeine Software die blöderweise nicht unter NT/2000/XP läuft). Und nicht weil die Lizenzen für XP/... zu teuer wären.
    Obwohl das sicher auch mal passieren kann - wenns um einige tausend/zigtausend PCs geht, kommt das auch in ne Grössenordnung wo es sich schnell rentiert mal ein paar hundert Stunden Arbeit mehr zu investieren, damit man keine neuen Lizenzen kaufen muss.



  • Jup, z.B. abgedrehte Isa IO Karten. Vor noch gar nicht so langer Zeit, als ein PC nicht für 140€ zu haben war, waren auch die Hardwarekosten ein Thema - die lassen sich auch nicht kopieren ;o)



  • @hustbaer, das ist natürlich auch noch ein Ansatz, den ich mit in Betracht ziehen werde.

    Wie kann ich so einen Verweis auf zb. die PAI von Office setzen? Im normalen C# mach ich einfach einen Verweis auf Office und sag dann using Microsoft.Office

    Geht das bei den CodeProvider oder bei dem LUA auch?

    @all um die Diskussion bezüglich FrameWork 3.5 mal für mich abzuschließen ... unsere IT ist für mehrere 10.000 Mitarbeit zusändig und somit sind wir nur ein klitze kleiner Teilbereich und somit hat bei uns die IT-Abteilung das sagen und wir haben uns danach zu richten ... is eben nun mal so ... da kann ich auch nichts machen ... wenn es nur eine kleine firma mit 5 Mitarbeitern ist seh ich die Meinung von Mr Evil ein...



  • Bei LuaInterface musst du die zuständigen Assemblies laden (d.h. den Filenamen wissen), danach kannst du dann auf die .NET Typen zugreifen.
    Es gibt einige Beispiele im Netz dazu. Dummerweise hat sich die Lua-Syntax bzw. die nötigen Funktionen dafür ein paar mal geändert. Einige Beispiele sind daher veraltet, und funktionieren mit dem aktuellen LuaInterface nichtmehr. Aber mit ein bisschen Rumprobieren und Suchen bekommt man das schon gebacken.

    Ich würde sagen probier es einfach aus.



  • Net_Hans schrieb:

    @all um die Diskussion bezüglich FrameWork 3.5 mal für mich abzuschließen ... unsere IT ist für mehrere 10.000 Mitarbeit zusändig und somit sind wir nur ein klitze kleiner Teilbereich und somit hat bei uns die IT-Abteilung das sagen und wir haben uns danach zu richten ... is eben nun mal so ... da kann ich auch nichts machen ... wenn es nur eine kleine firma mit 5 Mitarbeitern ist seh ich die Meinung von Mr Evil ein...

    also ich arbeite wie gesagt in einer firma mit >400 mitarbeiter hier in deutschland - haben auch noch niederlassungen in japan, china, usa und uk (die anzahl der leute dort kenn ich nicht)

    was sagen denn die software architekten dazu das sie von der ahnungslosen it in ihrer arbeit behindert werden ?
    gerade in den grossen firmen ist es doch normal das es zustaendige leute gibt die die software architektur kennen und auch wissen was wo eingesetzt wird (und dadurch moeglich ist)
    diese personen sind die beurteilende kraft , nicht die it
    ein solution architekt weiss was gebraucht wird und was geht , und wenn die it dann sagt "ne - gibts nich" - wo kommen wir denn da hin ?!
    am besten laesst sich der cto auch noch was vorschreiben - also ehrlich

    ein normaler it'ler kennt die ganzen applikationen gar nicht - auch nicht deren spezifikationen - auch nicht wo es beim kunden laufen soll - wie soll der denn entscheiden was benutzt werden "darf" ?



  • Schon mal auf die Idee gekommen das es auch noch eine andere Wirklichkeit gibt außer die, die Du kennst ?

    was sagen denn die software architekten dazu das sie von der ahnungslosen it in ihrer arbeit behindert werden ?

    Nur weil die IT bei euch vllt. Ahnungslos sein mag muss dies nicht auf andere IT Abteilungen zutreffen. Der Begriff dürfte für ein solches Urteil viel zu schwammig sein.

    Ansonsten: Es muss nicht immer das neueste Framework sein. Irgendwann muss ein Produkt auch mal fertig werden - erst recht wenn sich der Aufwand in Manntagen berechnet, nicht in Mannmonaten.


Anmelden zum Antworten