public static GlobalScope CreateEngineAndGetGlobalScope(bool fast, String[] assemblyNames){
VsaEngine engine = new VsaEngine(fast);
engine.InitVsaEngine("JScript.Vsa.VsaEngine://Microsoft.JScript.VsaEngine.Vsa", new DefaultVsaSite());
engine.doPrint = true;
engine.SetEnclosingContext(new WrappedNamespace("", engine));
foreach (String assemblyName in assemblyNames){
VsaReference r = (VsaReference)engine.vsaItems.CreateItem(assemblyName, VsaItemType.Reference, VsaItemFlag.None);
r.AssemblyName = assemblyName;
}
VsaEngine.exeEngine = engine;
GlobalScope scope = (GlobalScope)engine.GetGlobalScope().GetObject();
scope.globalObject = engine.Globals.globalObject;
return scope;
}