Ładowanie kompilatora TypeScript do ClearScript, „WScript jest niezdefiniowany”, niemożliwe zadanie?

Próbowałem użyćClearScript załadowaćMaszynopis kompilator w celu skompilowania podstawowego kodu TypeScript.

Niestety podczas wykonywania źródła kompilatora TypeScript pojawia się ten błąd:

„WScript” jest niezdefiniowany

To jestLINQPad program, którego użyłem, umieść biblioteki ClearScript dll iPlik kompilatora TypeScript obok programu .linq:

void Main()
{
    using (var js = new Microsoft.ClearScript.Windows.JScriptEngine(Microsoft.ClearScript.Windows.WindowsScriptEngineFlags.DisableSourceManagement))
    {
        var typeScriptSource = File.ReadAllText(Path.Combine(Path.GetDirectoryName(Util.CurrentQueryPath), "tsc.js"));
        js.Execute(typeScriptSource);
        const string typeScriptCode = @"
            class Greeter {
                greeting: string;
                constructor(message: string) {
                    this.greeting = message;
                }
                greet() {
                    return ""Hello, "" + this.greeting;
                }
            }
            function test()
            {
                var greeter = Greeter(""world"");
                return greeter.greet();
            }
        ";
        js.Script.TypeScript.Compile(typeScriptCode);

        object result = js.Script.test();
        result.Dump();
    }
}

#region Copy ClearScript to correct location

static UserQuery()
{
    foreach (var filename in new[] { "ClearScriptV8-32.dll", "ClearScriptV8-64.dll", "v8-ia32.dll", "v8-x64.dll" })
    {
        try
        {
            string sourcePath = Path.Combine(Path.GetDirectoryName(Util.CurrentQueryPath), filename);
            string targetPath = Path.Combine(Path.GetDirectoryName(typeof(Util).Assembly.Location), filename);

            File.Copy(sourcePath, targetPath, true);
        }
        catch (IOException ex)
        {
            unchecked
            {
                const int fileInUseHresult = (int)0x80070020;
                if (ex.HResult != fileInUseHresult)
                    throw;
            }
        }
    }
}

#endregion

Błąd występuje w tej linii:

js.Execute(typeScriptSource);

Stworzyłem plik .zip ze wszystkim, czego potrzebujeszLINQPad załadować plik .linq i eksperyment. Dll ClearScript są tworzone z niezmodyfikowanego źródła, ale jeśli mi nie ufasz, powinieneś być w stanie je odtworzyć (jeśli ich nie masz).

Jest dostępny tutaj:Link Dropbox do SO19023498.zip.

Co próbowałem:

Próbowałem najpierw wykonać ten kod:

var WScript = new ActiveXObject("WSH.WScript");

To spowodowało tylko ten błąd:Automation server can't create object

nie widziałemWSH.WScript w rejestrze pod kluczem HKEY_CLASSES_ROOT, aby to mogło być to.

Próbowałem dowiedzieć się, jak utworzyć obiekt z .NET i ustawić go w kontekście skryptu, ale najwyraźniej nie patrzę we właściwe miejsce.

questionAnswers(3)

yourAnswerToTheQuestion