2009-02-11 3 views
2

Combien d'assemblages avons-nous dans .NET 3.5? Puis-je les énumérer par exemple: Système; System.Windows.Forms et ainsi de suite ... S'il vous plaît aider avec le code en C#Liste des noms de .netassembly

+0

jetez un oeil à gac c: \ windows \ assemblies –

Répondre

0

Je dois afficher la liste à mes élèves .. ils sont intéressés à voir si cela peut être fait et si nous pouvons énumérer seulement les assemblées (noms de classe) de .net 3.5

1

Voici un programme rapide pour rechercher C:\Windows\assembly\ pour tous .dll ensembles et sortie ceux avec une version de 3.5:

// Get all "*.dll" files from "C:\Windows\assembly". 
string windowsDirectory = Environment.GetEnvironmentVariable("windir"); 
string assemblyDirectory = Path.Combine(windowsDirectory, "assembly"); 
string[] assemblyFiles = Directory.GetFiles(
    assemblyDirectory, "*.dll", SearchOption.AllDirectories 
); 

// Get version of each file (ignoring policy, integration, and design files). 
var versionedFiles = 
    from path in assemblyFiles 
    let filename = Path.GetFileNameWithoutExtension(path) 
    where !filename.StartsWith("policy") 
    && !filename.EndsWith(".ni") 
    && !filename.EndsWith(".Design") 
    let versionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(path) 
    select new { Name = filename, Version = versionInfo.FileVersion }; 

// Select all 3.5 assemblies. 
var assembliesIn3_5 = versionedFiles 
    .Where(file => file.Version.StartsWith("3.5")) 
    .OrderBy(file => file.Name); 

foreach(var file in assembliesIn3_5) 
    Console.WriteLine("{0,-50} {1}", file.Name, file.Version); 

Sur la base de cette requête PowerShell:

dir C:\Windows\assembly -filter *.dll -recurse | 
    ? { [Diagnostics.FileVersionInfo]::GetVersionInfo($_.FullName).FileVersion.StartsWith('3.5.') } | 
    % { [IO.Path]::GetFileNameWithoutExtension($_.Name) } | 
    ? { -not $_.EndsWith('.ni') } | 
    sort 


En outre, vous pourrait trouver utile Changes in the .NET BCL between 2.0 and 3.5 poste de Hanselman.

Questions connexes