04. november 2004 - 14:58Der er
17 kommentarer og 1 løsning
Assembly name
Hejsa, når man laver et assembly har man mulighed for at specificere forskellige informationer om dette assembly, e.g.: [assembly: System.Reflection.AssemblyTitle("My Title")] [assembly: System.Reflection.AssemblyDescription( "Desription")]
Hvis man nu har loaded et assembly a, hvordan får man så fat i disse informationer?
Hvordan har du loadet dit assembly? Det er jo sådan set også ligegyldigt - når du du har fat i det assembly som du ønsker navnet på er det jo stadig bare at bruge .FullName på det.
Komme jo også lidt an på hvad det er du vil have ud. Assembly caller = Assembly.GetExecutingAssembly(); Console.WriteLine("Assembly name: " + caller.GetName().Name;);
Assembly.GetExecutingAssembly(); returnerer det assembly, som det nuværende code køres fra ikke. Dette er ikke det samme som de assemblies jeg ønsker information om.
Hvad er det for nogle assemblies du vil have info omkring? Hvis du ønsker alle de assemblies der er i det aktuelle domain kan du bruge følgende: Assembly[] myAssemblies = Thread.GetDomain().GetAssemblies();
guidmasters Assembly.GetExecutingAssembly() henter current assembly, nu gætter jeg udfra andre spørgsmål at du brger Assembly.Load eller Assembly.LoadFile, men når du har din Assembly så må ovenstående være teknikken.
Følgende skulle give dig de informationer du ønsker:
AssemblyDescriptionAttribute desc; AssemblyTitleAttribute title; // Dette er for at få min ref. i testen. Assembly aAssembly = Assembly.GetExecutingAssembly();
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.