Frage

Kennt jemand ein Tool, das mir einen Bericht der Baugruppen auf die .NET GAC auf allen Servern in meiner Web-Farm installiert zu generieren erlauben würde? (30-40-Server)

oder alternativ hat jemand einen Zeiger oder einen Link auf irgendeine Weise die Informationen programmatisch für den Zugriff über WMI oder Remote Registry-Abfrage oder eine andere Technologie?

War es hilfreich?

Lösung

Danke Kragen, für andeutend, dass unter dem Furnier Explorer GAC Sicht gibt Dateien existierte ich mit dem System.IO Namespace abfragen könnte. Zum Glück habe ich den Netzwerkzugriff auf jeden Server.

Ich brauche nur für eine einzelne Baugruppe, um die Versionen abfragen, die auf vielen Servern im GAC vorhanden waren. Während weit von einer vollständigen Reporting-Anwendung, diese Schnipsel diente meine Zwecke gut:

private static void QueryServerGAC(string IP)
{
    string rootPath = String.Format(@"\\{0}\C$\WINDOWS\Assembly", IP);
    DirectoryInfo root = new DirectoryInfo(rootPath);

    foreach (DirectoryInfo gacDir in root.GetDirectories("GAC*")) // GAC, GAC_32, GAC_MSIL
    {
        foreach (DirectoryInfo assemDir in gacDir.GetDirectories("MyAssemblyName"))
        {
            foreach (DirectoryInfo versionDir in assemDir.GetDirectories())
            {
                string assemVersion = versionDir.Name.Substring(0, versionDir.Name.IndexOf('_'));
                foreach (FileInfo fi in versionDir.GetFiles("*.dll"))
                {
                    FileVersionInfo vi = FileVersionInfo.GetVersionInfo(fi.FullName);
                    Console.WriteLine("{0}\t{1}\t{2}\t{3}", IP, fi.Name, assemVersion, vi.FileVersion);
                }
            }
        }
    }
}

Dies kann einmal für jeden Server-IP von Interesse genannt werden, und druckt die IP, DLL-Namen, Assembly Version und Fileversion an die Konsole.

Fühlen Sie sich frei, diesen Code zu nehmen und für eigene Zwecke zu ändern.

Andere Tipps

Sie können den Standard GAC Ansicht deaktivieren es in eine normale Explorer-Ansicht in der Registrierung zu machen, nur den folgenden Wert auf 1 gesetzt:

HKEY_LOCAL_MACHINE\Software\Microsoft\Fusion\

(Quelle http: // sqlmusings. wordpress.com/2007/11/17/how-to-disable-gac-view/ )

Sie können dann nur einige Ordner-Vergleichs-Tool verwenden, oder einfach nur herausfinden, was Baugruppen aus den Ordnernamen vorhanden sind.

Zu Ihrer Information - dies stellt sich nur die Explorer-Ansicht aus, aber andere Punkte der Interaktion mit dem Dateisystem (zB das File-Objekt in C #, oder die Eingabeaufforderung) bereits diese Ansicht sehen, so gibt es nicht wahrscheinlich jede Notwendigkeit, diese Registrierungsschlüssel gesetzt auf allen Servern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top