示例#1
0
        public void LoadDefaultReferences()
        {
            //boo.lang.dll
            _booAssembly = typeof(Builtins).Assembly;
            _compilerReferences.Add(_booAssembly);

            //boo.lang.extensions.dll
            //try loading extensions next to Boo.Lang (in the same directory)
            var extensionsAssembly = TryToLoadExtensionsAssembly();

            if (extensionsAssembly != null)
            {
                _compilerReferences.Add(extensionsAssembly);
            }

            //boo.lang.compiler.dll
            _compilerReferences.Add(GetType().Assembly);

            //mscorlib
            _compilerReferences.Add(LoadAssembly("mscorlib", true));
            //System
            _compilerReferences.Add(LoadAssembly("System", true));
            //System.Core
            _compilerReferences.Add(LoadAssembly("System.Core", true));

            Permissions.WithDiscoveryPermission <object>(() =>
            {
                WriteTraceInfo("BOO LANG DLL: " + _booAssembly.Location);
                WriteTraceInfo("BOO COMPILER EXTENSIONS DLL: " + (extensionsAssembly != null ? extensionsAssembly.ToString() : "NOT FOUND!"));
                return(null);
            });
        }