5

MicrosoftのオープンソースのIL2JSは、ILのコンパイルを介してSilverlightアプリケーションを純粋なJavaScriptにコンパイルするためのツールのようです。

しかし、私はそれを機能させることができないようです。私が走るとき:

PS C:\ source \ IL2JS-master \ bin> ./il2jsr -rewrite C:\ FlatRedBallProjects \ Test1 \ Te st1 \ Test1 \ Bin \ Debug \ Test1.dll -outtest.js-reference。\IL2JS_mscorlib.dll

これを実行すると、

エラー3003:特別な「JSTypes」アセンブリに類似したアセンブリ名はありません1エラー、0警告

そこで、jstypesに別の-referenceオプションを追加しようとすると、次の出力が得られました。

PS C:\ source \ IL2JS-master \ bin> ./il2jsr -rewrite C:\ FlatRedBallProjects \ Test1 \ Test1 \ Test1 \ Bin \ Debug \ Test1.dll -outtest.js-reference。\IL2JS_mscorlib.dll-reference。 \ IL2JS_JSTypes_silverlight.dll

エラー3005:ファイル'C:\ source \ IL2JS-master \ bin'からアセンブリをロードできません:mscorlibをロードできません1エラー、0警告

したがって、-referenceオプションは1つしか持てないようですが、どういうわけかjstypesとmscorlibアセンブリの両方を参照する必要があります。

私は何が間違っているのですか?


編集:それで、もう少しデバッグした後、これを行う正しい方法は2-reference引数を使用することであるように思われます。後者が機能しない理由は

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

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

AssemblyLoader.cs。最後のifステートメントが失敗します(mscorlib.Directorynull)。さて、問題はなぜ...

4

1 に答える 1