Jag vill lista versionsnummren på alla dll:er som finns i bin mappen. Har inte en blekaste aning om hur jag skall gå till väga. Vet att System.Reflection kan va en start. Någon som kan ge en ledtråd? Hej, jag vill helst unvika att läsa in dll:erna, eftersom detta kan bli mycket kapacitetsbelastande om det är ett antal. Sedan så kan jag inte förutsätta att jag vet vilka/hur många dll:er som finns Om det är .NET assemblies vi pratar om så tror jag att:lista info om dll:er i bin mappen
//FreddeSv: lista info om dll:er i bin mappen
Har inte gjort det själv, vet ej om det finns ett lätt sätt att göra det på.
Men du har ju IO klasserna däör du kan plocka ut alla filer o ev där få reda på version. Såg att File klassen inte kunde ge version, se om du kan hitta det på annat sätt. Annars blir du nog tvungen att läsa in alla dller via reflection för att ta reda på versionen. :-(
Mvh JohanSv: lista info om dll:er i bin mappen
Sv: lista info om dll:er i bin mappen
- du måste använda System.Reflection
och undersöka egenskaperna för Assembly objektet.
- du måste ladda in varje assembly för att göra detta
- när du gör det - kommer de laddas i din AppDomain och inte laddas ur
förrän din AppDomain rivs ner (!!!)
Det här är ganska viktigt för det kan leda till onödigt mycket minnesanvändning
i synnerhet om det är en webbapplikation.
- du bör helst skapa en ny AppDomain och ladda in varje Assembly i den.
- anropen till de inladdade assemblysarna görs över app borders dvs remoting ska användas.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemappdomainclassdocallbacktopic.asp
- Nej det är inte lätt som en plätt :)
Jag har tyvärr inget färdigt kodexempel för detta
men du kan ju googla på
AppDomain Load Unload Assembly
Eller plugga in Reflection-namespace så du kan det utantill.. ;)
Ola