Registrieren Sie mehrere Assemblys beim GAC in Vista
Frage
Ich habe ein ganzes Verzeichnis mit DLLs, die ich beim GAC registrieren muss.Ich würde gerne vermeiden, jede Datei explizit zu registrieren – aber es scheint, dass gacutil keine Option „Verzeichnis registrieren“ hat.Hat jemand eine schnelle/einfache Lösung?
Lösung
GACUTIL registriert keine DLLs – nicht im Sinne von „COM“.Anders als in COM kopiert GACUTIL die Datei in ein undurchsichtiges Verzeichnis unter %SYSTEMROOT%\assembly und führt sie von dort aus aus.Es würde keinen Sinn machen, GACUTIL zu bitten, einen Ordner zu registrieren (was auch mit RegSvr32 nicht möglich wäre).
Sie können einen Batch-FOR-Befehl verwenden wie:
FOR %a IN (C:\MyFolderWithAssemblies\*.dll) DO GACUTIL /i %a
Wenn Sie das in eine Batchdatei einfügen, müssen Sie %a durch %%a ersetzen
Andere Tipps
Hier ist das Skript, das Sie in eine Batchdatei einfügen würden, um alle Dateien im aktuellen Verzeichnis bei Gacutil zu registrieren.Sie müssen es dazu nicht in eine Batchdatei einfügen (Sie können es einfach kopieren/in eine Eingabeaufforderung einfügen).
FOR %1 IN (*) DO Gacutil /i %1
Bearbeiten:Bah, tut mir leid, dass ich zu spät gekommen bin.Ich habe den vorherigen Beitrag nicht gesehen, als ich meinen gepostet habe.
Verwenden
gacutil /il YourPathTo_A_TextFile.txt
Wechseln Sie, wenn Sie DLLs in mehreren verschiedenen Ordnern haben.Ansonsten geh mit dem for ... in
Schleife von Euro erwähnt.
Die Textdatei sollte eine Liste der Assembly-Pfade (ein Pfad pro Zeile) enthalten, die installiert werden sollen.Die Pfade können auch verschiedene Ordner im gesamten System sein.Führen Sie die Befehlszeile als Administrator aus!
Hier ein Beispiel für YourPathTo_A_TextFile.txt:
C: ... Microsoft.Practices.enterPriselibrary.Common.dll C: ... Microsoft.Practices.enterPribrary.Configuration.design.hostadapter.dll C: ... Microsoft.Practices.enterPriselibrary.Configuration.Dessign. Hostadapterv5.dll C: ... Microsoft.Practices.enterpriselibrary.Configuration.Designime .dll