1. Kompilierte Assembly von JSC
Ich habe das beabsichtigte clientseitige JavaScript mit dem JScript-Compiler (jsc.exe) auf der Serverseite kompiliert, um etwas zu erstellen, das von einem Unit-Testing-Projekt getestet werden kann, und möglicherweise sogar etwas, das auf der Serverseite debuggt werden kann.
Die kompilierte Datei enthält nur Funktionen wie folgt (nur als Beispiel) und sie kompiliert problemlos in BitField.exe. Beachten Sie, dass im Quellcode keine Wrapperklasse oder Paket vorhanden sind.
------- ANFANG DATEI (BitField.js) -------
function BitField(){
this.values = [];
}
// weitere Funktionen ...
------- ENDE DATEI -------
jsc /fast- /out:BitField.exe Bitfield.js
Ergebnis ist eine BitField.exe Assembly.
Erfolg! Na ja, irgendwie ....
2. Test-Assembly / Zugriffspunkt?
Zweitens habe ich ein Testprojekt (in C#) erstellt und erfolgreich auf die BitField.exe Assembly verwiesen. (Der Projekttyp ist irrelevant, aber ich gebe mehr Beschreibung, um ein vollständiges Bild zu zeichnen.)
Das Problem scheint zu sein: Ich kann den Namespace oder einen Punkt nicht finden, an dem ich die BitField-Funktionen innerhalb der BitField.exe-Assembly von meinem C#-Testprojekt aus aufrufen kann. Die Assembly scheint nicht "normal" zu sein.
Mit anderen Worten benötige ich in C#
using ???WAS???
Hinweis: Ich möchte keine JScript-"Erweiterungen" verwenden, d.h. Schlüsselwörter, die nicht clientseitig (im Webbrowser) ausgeführt werden, z. B. class
, package
usw., weil ich möchte, dass der Code so sauber wie möglich ist, um ihn zurück in die clientseitige Skriptumgebung kopieren und einfügen zu können (Unabhängig davon compiliert der genannte "saubere" Code problemlos mit jsc.exe ohne Verwendung dieser Erweiterungen). Wenn ich versuche, die Funktionen in package
und class
zu verpacken, treten Kompilierfehler auf, was ein weiterer Grund ist, sie nicht zu verwenden - weil sie mich anscheinend dazu zwingen, meinen Code zu ändern.
Habt ihr Vorschläge, wie ich die Funktionen der kompilierten JScript-Assembly (indem sie in eine andere Assembly referenziert wird) nutzen kann, wenn keine expliziten Container darin vorhanden sind?
Aktualisierung / Beweis
Ansicht im .NET Reflector