2012-11-07 15 views
5

Ich sah, dass Microsoft Open-Source-IL2JS, die ein Tool zum kompilieren der Silverlight-Anwendungen zu reinem Javascript zu kompilieren scheint.Wie rufe ich IL2JS richtig auf?

Allerdings kann ich nicht scheinen, es zur Arbeit zu bringen. Wenn ich laufen:

PS C: \ source \ IL2JS-Master \ bin> ./il2jsr -rewrite C: \ FlatRedBallProjects \ Test1 \ Te st1 \ Test1 \ Bin \ Debug \ Test1.dll -out Test Js -Referenz \ IL2JS_mscorlib.dll

Als ich dies laufe ich bekommen

Fehler 3003:. Keine Montage Name der speziellen 'JSTypes Versammlung 1 Fehler ähnelte, 0 Warnungen

91.363.210

Also versuchte ich eine andere -Referenz Option für jstypes hinzufügen und bekam die folgende Ausgabe:

PS C: \ source \ IL2JS-Master \ bin> ./il2jsr -rewrite C: \ FlatRedBallProjects \ Test1 \ Test1 \ Test1 \ Bin \ Debug \ Test1.dll -out test.js -Referenz \ IL2JS_mscorlib.dll -Referenz \ IL2JS_JSTypes_silverlight.dll

Fehler 3005:.. Nicht imstande Baugruppe aus der Datei geladen ‚C: \ source \ IL2JS -master \ bin ': kann mscorlib nicht laden 1 Fehler, 0 Warnungen

So scheint es Sie können nur eine Option -reference haben, aber Sie müssen irgendwie beide jstypes und mscorlib-Assemblies verweisen.

Was mache ich falsch?


bearbeiten: So, nachdem einige weitere Debugging es wie die richtige Art und Weise scheint dies zu tun ist 2 -Referenz Argumente zu verwenden. Der Grund, warum diese nicht funktioniert, ist wegen

 CCI.SystemTypes.Initialize(false, true, ResolveReference); 

     // ---------------------------------------- 
     // Account for mscorlib being loaded 
     // ---------------------------------------- 
     mscorlib = CCI.SystemTypes.SystemAssembly; 
     if (mscorlib == null || mscorlib.Directory == null) 

In AssemblyLoader.cs. Diese letzte if-Anweisung schlägt fehl (mscorlib.Directory ist null). Nun ist die Frage, warum ...

Antwort

0

Nach https://github.com/Reactive-Extensions/IL2JS/blob/master/HOW_TO_BUILD.txt, können Sie die IL2JSROOT Umgebungsvariable setzen müssen,

„oder die registery Einstellung HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ IL2JS @ Wurzel werden eingestellt. Die oben genannte Powershell-Konfiguration legt diese Variable für Sie fest. Wenn Sie möchten, dass die Lösungen oder Projekte von an anderer Stelle verwendet werden, legen Sie diese Variable bitte selbst fest. "

Versuchen Sie das, es kann helfen.

Verwandte Themen