using System.Diagnostics;
using System.Xml;
using System.Collections.Generic;
-using System.Reflection;
using System.IO;
using System.IO.Compression;
using System.Runtime.InteropServices;
using System.Text;
+using IKVM.Reflection;
#if NET_4_5
Stream template_stream;
if (compress) {
- template_stream = Assembly.GetAssembly (typeof(MakeBundle)).GetManifestResourceStream ("template_z.c");
+ template_stream = System.Reflection.Assembly.GetAssembly (typeof(MakeBundle)).GetManifestResourceStream ("template_z.c");
} else {
- template_stream = Assembly.GetAssembly (typeof(MakeBundle)).GetManifestResourceStream ("template.c");
+ template_stream = System.Reflection.Assembly.GetAssembly (typeof(MakeBundle)).GetManifestResourceStream ("template.c");
}
StreamReader s = new StreamReader (template_stream);
tc.Write (template);
if (!nomain) {
- Stream template_main_stream = Assembly.GetAssembly (typeof(MakeBundle)).GetManifestResourceStream ("template_main.c");
+ Stream template_main_stream = System.Reflection.Assembly.GetAssembly (typeof(MakeBundle)).GetManifestResourceStream ("template_main.c");
StreamReader st = new StreamReader (template_main_stream);
string maintemplate = st.ReadToEnd ();
tc.Write (maintemplate);
return assemblies;
}
+ static readonly Universe universe = new Universe ();
+
static void QueueAssembly (List<string> files, string codebase)
{
if (files.Contains (codebase))
return;
files.Add (codebase);
- Assembly a = Assembly.LoadFrom (new Uri(codebase).LocalPath);
+ Assembly a = universe.LoadFile (new Uri(codebase).LocalPath);
if (!autodeps)
return;
foreach (AssemblyName an in a.GetReferencedAssemblies ()) {
- a = Assembly.Load (an);
+ a = universe.Load (an.Name);
QueueAssembly (files, a.CodeBase);
}
}
char[] path_chars = { '/', '\\' };
if (assembly.IndexOfAny (path_chars) != -1) {
- a = Assembly.LoadFrom (assembly);
+ a = universe.LoadFile (assembly);
} else {
string ass = assembly;
if (ass.EndsWith (".dll"))
ass = assembly.Substring (0, assembly.Length - 4);
- a = Assembly.Load (ass);
+ a = universe.Load (ass);
}
return a;
} catch (FileNotFoundException){
full_path += ".dll";
try {
- a = Assembly.LoadFrom (full_path);
+ a = universe.LoadFile (full_path);
return a;
} catch (FileNotFoundException ff) {
total_log += ff.FusionLog;
}
Error ("Cannot find assembly `" + assembly + "'" );
Console.WriteLine ("Log: \n" + total_log);
- } catch (BadImageFormatException f) {
- Error ("Cannot load assembly (bad file format)" + f.FusionLog);
+ } catch (IKVM.Reflection.BadImageFormatException f) {
+ Error ("Cannot load assembly (bad file format) " + f.Message);
} catch (FileLoadException f){
- Error ("Cannot load assembly " + f.FusionLog);
+ Error ("Cannot load assembly " + f.Message);
} catch (ArgumentNullException){
Error("Cannot load assembly (null argument)");
}