Hallo zusammen,
ich heiße Mario, bin vom Beruf Entwickler in einem Industrieunternehmen und seit neusten wieder Student. ;-)
Ich sitzte zur Zeit an einem Java - Projekt, dessen Ziel ein Programm ist, welches von Schülern/Studenten erstellten Programmcode startet, den Output mit vorgegeben Musterlösungen vergleicht und bewertet und dem Schüler/Studenten schließlich eine entsprechende Rückmeldung gibt.
Damit es nicht zu einfach ist, sind die eingereichten Programmfragmente in VB.NET programmiert. Der Input besteht also aus .vb - Dateien, welche erst über einen .NET - Compilier in eine exe - Bytecodedatei umgewandelt werden müssen, um sie lauffähig zu machen.
Und hier liegt das Problem! Ich habe bis jetzt noch keine Lösung gefunden, wie ich aus einer Javaapplication ein in VB.NET erstellten Programmiercode in eine .exe-Datei kompilieren kann.
Mein Ansatz ist, über die Kommandokonsole 'cmd.exe' den Programmiercode zu kompilieren.
Hierzu ein kleiner Excurs: Ähnlich wie bei Java muss der VB.NET Code in einen Bytecode umgewandelt werden, damit dieser dann der virtuellen Maschine übergeben werden kann. In Java, wie auch in VB.NET, macht das standardmäßig die Entwicklungsumgebung, aber man kann das eben auch mittels der cmd - Konsole erledigen. (Java: 'javac Programm.class' / VB.NET 'vbc Prgramm.vb').
Leider scheitert der Ansatz daran, dass die Konsole, welche aus der Javaapplication aufrufen wird, der Befehl 'vbc' nicht ausgeführen kann. Fehlermeldung: "Der Befehl "vbc" ist entweder falsch geschrieben oder konnte nicht gefunden werden." Der Compiler für das präferierte .NET - Framework und Prozessor ist jedoch per Pfad in den Umgebungsvariabeln der erweiterten Systemsteuerung ausgewählt. Das Kompilieren von vb-Dateien über eine normal gestartete Konsole ist auch möglich. Hat jemand hier vielleicht eine Idee, warum mir die Konsole aus dem Javaprogramm den Fehler auswirft?
Das Programm ist eigentlich fertig und arbeitet solide, solange ich fertige exe-Bytecodedatei übergebe. Das Kernfeature, die die Umwandlung der .vb-Programmcodedatei in die .exe-Bytecodedatei aus der Javaapplication ist jedoch noch offen!
Hat da vielleicht jemand bereits diesbezüglich Erfahrungen sammeln können, oder kann mir Tips geben? Gerne auch mit Quellen oder Literturverweise.
Bis hierhin erstmal danke fürs durchlesen! ;-)
Gruß,
Mario
ich heiße Mario, bin vom Beruf Entwickler in einem Industrieunternehmen und seit neusten wieder Student. ;-)
Ich sitzte zur Zeit an einem Java - Projekt, dessen Ziel ein Programm ist, welches von Schülern/Studenten erstellten Programmcode startet, den Output mit vorgegeben Musterlösungen vergleicht und bewertet und dem Schüler/Studenten schließlich eine entsprechende Rückmeldung gibt.
Damit es nicht zu einfach ist, sind die eingereichten Programmfragmente in VB.NET programmiert. Der Input besteht also aus .vb - Dateien, welche erst über einen .NET - Compilier in eine exe - Bytecodedatei umgewandelt werden müssen, um sie lauffähig zu machen.
Und hier liegt das Problem! Ich habe bis jetzt noch keine Lösung gefunden, wie ich aus einer Javaapplication ein in VB.NET erstellten Programmiercode in eine .exe-Datei kompilieren kann.
Mein Ansatz ist, über die Kommandokonsole 'cmd.exe' den Programmiercode zu kompilieren.
Hierzu ein kleiner Excurs: Ähnlich wie bei Java muss der VB.NET Code in einen Bytecode umgewandelt werden, damit dieser dann der virtuellen Maschine übergeben werden kann. In Java, wie auch in VB.NET, macht das standardmäßig die Entwicklungsumgebung, aber man kann das eben auch mittels der cmd - Konsole erledigen. (Java: 'javac Programm.class' / VB.NET 'vbc Prgramm.vb').
Leider scheitert der Ansatz daran, dass die Konsole, welche aus der Javaapplication aufrufen wird, der Befehl 'vbc' nicht ausgeführen kann. Fehlermeldung: "Der Befehl "vbc" ist entweder falsch geschrieben oder konnte nicht gefunden werden." Der Compiler für das präferierte .NET - Framework und Prozessor ist jedoch per Pfad in den Umgebungsvariabeln der erweiterten Systemsteuerung ausgewählt. Das Kompilieren von vb-Dateien über eine normal gestartete Konsole ist auch möglich. Hat jemand hier vielleicht eine Idee, warum mir die Konsole aus dem Javaprogramm den Fehler auswirft?
Das Programm ist eigentlich fertig und arbeitet solide, solange ich fertige exe-Bytecodedatei übergebe. Das Kernfeature, die die Umwandlung der .vb-Programmcodedatei in die .exe-Bytecodedatei aus der Javaapplication ist jedoch noch offen!
Hat da vielleicht jemand bereits diesbezüglich Erfahrungen sammeln können, oder kann mir Tips geben? Gerne auch mit Quellen oder Literturverweise.
Bis hierhin erstmal danke fürs durchlesen! ;-)
Gruß,
Mario