Hej, Om du vill enumerera alla dll:er som ligger i en viss path och skriva ut dess namn och version kan du använda följande: Det borde gå bättre om du skapar en ny System.AppDomain och sedan laddar in de assemblies som du snart (den kod som jag snart ska förklara + beroenden) ska exekvera. Anropa sedan callback-funktionen på AppDomainen för att köra din funktion i den nya AppDomainen. Den funktionen gör ovanstående. När funktionen har körts färdigt så skrotar du bara AppDomainen och allting är frid och fröjd och en massa assemblies har inte laddats :) Japp... det är bättre.... tyvärr kan man ju inte "unloada" ett assembly när man väl laddat det utan att "unloada" hela AppDomainen... men som sagt så kan man skapa en ny som man tillfälligt använder isåfall.. > Ett annat alternativ är ju iofs att parsa dll:erna och läsa ur informationen manuellt, men då måste man få tag på specifikationerna för hur .NET dll:er ser ut... Använd System.Diagnostics.FileVersionInfo så sliper du ladda assembly't. Den visar samma information som om man högerklickar på filen i utforskaren och titar på versionsfliken. Klockrent! Precis vad jag ville ha. Ibland är det enklare än man tror.Namn och versionsnummer på dll:er i bin mappen
undrar hur man kan få fram info om alla dll:er som finns i webapplikationens bin mapp. Jag är inne på Assembly.GetExecutingAssembly... men är det rätt spår tro?
Jag har i min app ett antal "moduler" och jag vill kunna lista dels villka moduelr som finns samt även versionerna på dessa.Sv: Namn och versionsnummer på dll:er i bin mappen
foreach (string file in Directory.GetFiles(@"c:\sökväg\till\webapplikationes\bin\katalog", "*.dll")) {
Assembly assembly = Assembly.LoadFile(file);
Console.WriteLine(assembly.FullName);
Console.WriteLine(assembly.GetName().Version);
}
´
Men det laddar iofs alla assemblys, så det kanske inte är så bra... hmm..
Sv:Namn och versionsnummer på dll:er i bin mappen
Sv: Namn och versionsnummer på dll:er i bin mappen
Ett annat alternativ är ju iofs att parsa dll:erna och läsa ur informationen manuellt, men då måste man få tag på specifikationerna för hur .NET dll:er ser ut... Sv:Namn och versionsnummer på dll:er i bin mappen
Är nog ett mindre problem, speciellt då dll:er inte är specifikt för .net utan gäller alla dll:er. Versionsnumret borde kunna plockas ut med win32 api om man vill. Fast jag skulle nog satsa på AppDomain-varianten tror jag.Sv: Namn och versionsnummer på dll:er i bin mappen
/johan/Sv:Namn och versionsnummer på dll:er i bin mappen
Labbade lite med bla AppDomain men fick en hel del andra skumma effekter samt att det sög en del av servern.
Tack för alla svar, Johan Idstam löste tråden.