コード例 #1
0
        System.Reflection.Assembly domain_AssemblyResolve(object sender, System.ResolveEventArgs args)
        {
            System.AppDomain domain = (System.AppDomain)sender;

            byte[] rawAssembly = loadFile(args.Name);
            //byte[] rawSymbolStore = loadFile("temp.pdb");
            //Assembly assembly = domain.Load(rawAssembly, rawSymbolStore);
            return(domain.Load(rawAssembly));
        }
コード例 #2
0
 private static Assembly ChildDomainAssemblyResolve(object sender, System.ResolveEventArgs args)
 {
     try
     {
         return(Assembly.Load(args.Name));
     }
     catch
     {
     }
     return(null);
 }
コード例 #3
0
    public static Assembly ResolveEventHandler(object sender, System.ResolveEventArgs e)
    {
        Assembly a            = null;
        string   assemblyName = e.Name.Substring(0, e.Name.IndexOf(","));

        //Look for the DLL assembly
        a = FindAssembly(LIBRARY_PATH, assemblyName + ".dll");
        if (a == null)
        {       //If no DLL assembly was found, look for an EXE assembly.
            a = FindAssembly(eofSharedFolder, assemblyName + ".exe");
        }
        return(a);
    }
コード例 #4
0
 private static System.Reflection.Assembly CustomResolve(
     object sender,
     System.ResolveEventArgs args)
 {
     if (args.Name.StartsWith("library"))
     {
         string fileName = System.IO.Path.GetFullPath(
             "platform\\"
             + System.Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE")
             + "\\library.dll");
         System.Console.WriteLine(fileName);
         if (System.IO.File.Exists(fileName))
         {
             return(System.Reflection.Assembly.LoadFile(fileName));
         }
     }
     return(null);
 }
コード例 #5
0
        private System.Reflection.Assembly OnAssemblyResolve(object sender, System.ResolveEventArgs args)
        {
            var filename = args.Name.Substring(0, args.Name.IndexOf(","));

            var filePathDll = System.String.Format(@"{0}\{1}.dll", path, filename);

            if (System.IO.File.Exists(filePathDll))
            {
                return(System.Reflection.Assembly.LoadFrom(filePathDll));
            }

            var filePathExe = System.String.Format(@"{0}\{1}.exe", path, filename);

            if (System.IO.File.Exists(filePathExe))
            {
                return(System.Reflection.Assembly.LoadFrom(filePathExe));
            }

            return(null); // let the GAC try resolving it
        }
コード例 #6
0
ファイル: ModuleInitializer.cs プロジェクト: Sellec/TraceCore
 private static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, System.ResolveEventArgs args)
 {
     if (args.Name.Contains("EntityFramework"))
     {
     }
     return(null);
     //throw new System.NotImplementedException();
 }
コード例 #7
0
        /// <summary>
        /// DLL丢失时补充辅助类
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        /// <returns></returns>
        public static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, System.ResolveEventArgs args)
        {
            var assemblyInfo = args.Name;

            if (assemblyInfo.IsNotNullOrEmpty())
            {
                var assemblyName = assemblyInfo.Split(',')[0];
                if (assemblyName.IsNotNullOrEmpty())
                {
                    var assemlyPath = string.Format("{0}/{1}.dll", BasePublic.PluginsDirPath, assemblyName);
                    if (assemlyPath.IsExistFile())
                    {
                        return(System.Reflection.Assembly.LoadFile(assemlyPath));
                    }
                }
            }

            return(null);
        }
コード例 #8
0
ファイル: RemoveXna.cs プロジェクト: DeathCradle/TML-TShock
 private System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, System.ResolveEventArgs args)
 {
     if (args.Name.Contains("Xna"))
     {
         return(System.Reflection.Assembly.GetExecutingAssembly());
     }
     return(null);
 }
コード例 #9
0
        static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, System.ResolveEventArgs args)
        {
            string dllName = args.Name.Contains(",") ? args.Name.Substring(0, args.Name.IndexOf(',')) : args.Name.Replace(".dll", "");

            dllName = dllName.Replace(".", "_");

            if (dllName.EndsWith("_resources"))
            {
                return(null);
            }

            System.Resources.ResourceManager rm = new System.Resources.ResourceManager(typeof(SoundManager).Namespace + ".Properties.Resources", System.Reflection.Assembly.GetExecutingAssembly());

            byte[] bytes = (byte[])rm.GetObject(dllName);

            return(System.Reflection.Assembly.Load(bytes));
        }