Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 17:06

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Assembly nachladen

Discussion on Assembly nachladen within the .NET Languages forum part of the Coders Den category.

Closed Thread
 
Old   #1



 
Serraniel's Avatar
 
elite*gold: 0
The Black Market: 205/1/0
Join Date: May 2010
Posts: 6,853
Received Thanks: 5,106
Assembly nachladen

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:
PHP Code:
AppDomain.CurrentDomain.AssemblyResolve += delegate (object senderResolveEventArgs args
    { 
        var 
assemblyName args.Name.Substring(0args.Name.IndexOf(',')); 

        return (
from file in fileList 
            select Assembly
.LoadFile(file
            
into assembly 
            let currAssemblyName 
assembly.FullName.Substring(0args.Name.IndexOf(',')) 
            
where assemblyName == currAssemblyName 
            select assembly
).FirstOrDefault();                    
    }; 
Für die, die mit LINQ nicht so dicke sind hier der Linq Teil als for:
PHP Code:
for (var 0fileList.Counti++)
{
    var 
assembly Assembly.LoadFile(fileList[i]);
    var 
curAssemblyName assembly.FullName.Substring(0args.Name.IndexOf(','));
                        
    if (
curAssemblyName == assemblyName)
        return 
assembly;

fileList ist eine List<string> mit allen DLL Dateipfaden:


So sieht das Verzeichnis aus, wo die Dateien liegen:


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]); 
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:
Serraniel is offline  
Old 09/21/2015, 18:33   #2
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
Einfach mal die Exception im msdn nachschauen hilft warscheinlich weiter.


Quote:
This exception is thrown when the file format of a dynamic link library (.dll file) or an executable (.exe file) doesn’t conform to the format that the common language runtime expects. In particular, the exception is thrown under the following conditions: [...]
tolio is offline  
Old 09/21/2015, 19:04   #3
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
^ really?

ich wollte hier einen hinweis hinterlassen für andere leute die das selbe problem haben und mit der suche oder google diesen thread finden, aber trotzdem nice spam.
tolio is offline  
Thanks
1 User
Old 09/21/2015, 21:45   #4
 
elite*gold: 55
Join Date: Aug 2015
Posts: 24
Received Thanks: 3
Ich denke der Fehler liegt am Leerzeichen im Dateinamen der .dll Datei mit der Nummer 14 im Array.

Gruß,
Michi
Michi Biehler is offline  
Old 09/21/2015, 23:17   #5



 
Serraniel's Avatar
 
elite*gold: 0
The Black Market: 205/1/0
Join Date: May 2010
Posts: 6,853
Received Thanks: 5,106
Ne, Leerzeichen ist egal, geht bei der anderen Assembly ja auch. War was spezifischer das Problem.
Serraniel is offline  
Closed Thread


Similar Threads Similar Threads
Wie Nachladen bei Zombiemode ?
10/13/2011 - CrossFire - 4 Replies
Hey :D Seit einiger Zeit spiele ich den neuen Crossfire zombie mode ZM ... Dort gibt es sogenannt reload stations, bei denen man neue Munition bekommt.. Dafuer braucht man die taste E.. Da das Spiel amerikanisch ist, funktioniert diese Funktion selbst nach Umstellung meines Pcs auf amerikanische Tastatur nicht.. Habt ihr eine Idee, wie es funktionieren kann ?
MINIGUN NACHLADEN
06/16/2011 - Combat Arms - 6 Replies
Hi Com hab mir heut mal diem inigun gekauft für besser in fireteam zu sein nur wenn die muni alle ist wie bekomm ich neue?? bei den normalen gewehren (m416 rec7 ) usw geht das ja durch diese kits durchlaufen die die zombies fallen lasse nur wie geht da bei der minigun??
Nachladen?
04/28/2010 - AutoIt - 9 Replies
Hallo habe den Script: HotKeySet ("{F6}","_Exit") While 1 $Variable = PixelSearch(706,212,1209,586,0x1F1E00) If IsArray($Variable) = True Then MouseMove ($Variable , $Variable ,10) MouseClick("Left") EndIf WEnd
Nachladen Bug
02/19/2010 - WarRock - 10 Replies
ich hab per zufall machmal so ein bug, das wenn ich auf r drücke um nachzuladen die muni sofort da ist, also der charakter nicht noch das magazin rausholt & sowas .. weiss einer wie der genau geht habe den wie gesagt immer nur per zufall gemacht. mfg



All times are GMT +1. The time now is 17:07.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.