EDIT: Problem hat sich geklärt.
Hallo zusammen,
ich arbeite derzeit an einem kleinem Programm, bei dem ich die benötigten DLLs nicht direkt mit ausliefere, sondern diese (wenn veraltet/nicht vorhanden) ins AppData runterlade. Laden tue ich diese per Event:
Für die, die mit LINQ nicht so dicke sind hier der Linq Teil als for:
fileList ist eine List<string> mit allen DLL Dateipfaden:
[Only registered and activated users can see links. Click Here To Register...]
So sieht das Verzeichnis aus, wo die Dateien liegen:
[Only registered and activated users can see links. Click Here To Register...]
Das laden der DLLs hat wie bereits erwähnt problemlos funktioniert, nur die (aktuell letzte; Index 14 in der Liste) weigert sich und ich verstehe nicht wieso. Da scheint beim Laden irgendwas nicht zu klappen.
Wenn ich entsprechend davor folgende If-Abfrage mache:
funktioniert das ganze wieder. Ich versteh jedoch nicht warum es mit der For Schleife nicht geht, das muss ja eigentlich genauso gehen.
Exception ist folgende:
[Only registered and activated users can see links. Click Here To Register...]
Hallo zusammen,
ich arbeite derzeit an einem kleinem Programm, bei dem ich die benötigten DLLs nicht direkt mit ausliefere, sondern diese (wenn veraltet/nicht vorhanden) ins AppData runterlade. Laden tue ich diese per Event:
PHP Code:
AppDomain.CurrentDomain.AssemblyResolve += delegate (object sender, ResolveEventArgs args)
{
var assemblyName = args.Name.Substring(0, args.Name.IndexOf(','));
return (from file in fileList
select Assembly.LoadFile(file)
into assembly
let currAssemblyName = assembly.FullName.Substring(0, args.Name.IndexOf(','))
where assemblyName == currAssemblyName
select assembly).FirstOrDefault();
};
PHP Code:
for (var i = 0; i < fileList.Count; i++)
{
var assembly = Assembly.LoadFile(fileList[i]);
var curAssemblyName = assembly.FullName.Substring(0, args.Name.IndexOf(','));
if (curAssemblyName == assemblyName)
return assembly;
}
[Only registered and activated users can see links. Click Here To Register...]
So sieht das Verzeichnis aus, wo die Dateien liegen:
[Only registered and activated users can see links. Click Here To Register...]
Das laden der DLLs hat wie bereits erwähnt problemlos funktioniert, nur die (aktuell letzte; Index 14 in der Liste) weigert sich und ich verstehe nicht wieso. Da scheint beim Laden irgendwas nicht zu klappen.
Wenn ich entsprechend davor folgende If-Abfrage mache:
PHP Code:
if (assemblyName == "Sweet Elitepvpers.MainApplication")
return Assembly.LoadFile(fileList[14]);
Exception ist folgende:
[Only registered and activated users can see links. Click Here To Register...]