示例#1
0
 public void PreLoad()
 {
     new SkProject();
     new NFile();
     new CSharpParser();
     AssemblyLoader.Create();
 }
示例#2
0
        public static IAssemblyReference LoadAssemblyFile(string path)
        {
            var l = AssemblyLoader.Create(AssemblyLoaderBackend.IKVM);

            l.IncludeInternalMembers = true;
            return(l.LoadAssemblyFile(path));
        }
示例#3
0
文件: App.cs 项目: phiresky/Netjs
        ICompilation createCompilation(string mainPath, SyntaxTree tree)
        {
            List <IUnresolvedAssembly> assemblies = new List <IUnresolvedAssembly>();
            var             unresolved            = tree.ToTypeSystem();
            IProjectContent project = new CSharpProjectContent();

            string[]       paths = { /* mainPath, */ typeof(String).Assembly.Location, typeof(INotifyPropertyChanged).Assembly.Location,
                                                     typeof(Enumerable).Assembly.Location,   typeof(System.Drawing.Bitmap).Assembly.Location };
            AssemblyLoader loader = AssemblyLoader.Create();

            return(project.AddOrUpdateFiles(unresolved)
                   .AddAssemblyReferences(paths.Select(path => loader.LoadAssemblyFile(path)))
                   .CreateCompilation());
        }
示例#4
0
 /// <summary>
 /// Loads a referenced assembly from a .dll.
 /// Returns the existing instance if the assembly was already loaded.
 /// </summary>
 public IUnresolvedAssembly LoadAssembly(string assemblyFileName)
 {
     return(assemblyDict.GetOrAdd(assemblyFileName, file => AssemblyLoader.Create().LoadAssemblyFile(file)));
 }