Wo sind die installierte assemblies in den GAC physisch gespeichert?
Möchte ich exportieren, die die Baugruppen eingebaut in meinem Projekt. Aber wo werden Sie physisch gespeichert?
InformationsquelleAutor Iralda Mitro | 2009-05-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich eigentlich gefunden dieses post, nachdem ich schrieb meine Frage. Es ist wirklich gut erklärt:
Werden Sie in der Lage, Sie zu sehen, wenn Sie navigieren Sie zu
c:\windows\assembly
mit dem Explorer, wo sehen Sie eine schön formatierte Liste der Assemblys.
Die shell-extension verantwortlich für diese Ansicht zeigt nicht nur die Assemblys im GAC, aber auch die nativen Versionen von Baugruppen pre-kompiliert mit ngen.exe.
Aber die Dateien sind nicht tatsächlich hier gespeichert - die shell extension einfach Masken, die Ihre wahre Lage. Sie können sehen, wo die Dateien wirklich gespeichert sind, die durch das navigieren in das gleiche Verzeichnis über die Eingabeaufforderung.
In dieser Position werden eine Reihe von Unterverzeichnissen, darunter eine mit dem Namen GAC. Hier begraben unter mehreren Schichten von hash-codes und assembly-Namen befindet sich der physischen Baugruppen, zusammen mit einem old-fashioned .INI-Datei mit den starken Namen, unter anderem. Es ist einen Besuch Wert in diesem Neuland, nur um zu verstehen, was Los ist auf unter der Decke, obwohl Vorsicht vor Veränderungen wie der GAC soll undurchsichtig sein.
InformationsquelleAutor Iralda Mitro
Diese gespeichert sind in %systemroot% in einem Ordner namens " Montage
Die %SystemRoot% variable ist eine spezielle system-wide environment-variable gefunden, die auf Microsoft Windows NT und seine Derivate. Sein Wert ist der Speicherort der system-Ordner, einschließlich Laufwerk und Pfad.
Das Laufwerk ist das gleiche wie %SystemDrive% und die default-Pfad auf eine Neuinstallation hängt von der version des Betriebssystems. Standardmäßig wird bei einer Neuinstallation:
(aus wikipedia)
InformationsquelleAutor Ed Guiness
Den physischen Standort des GAC ist die Montage-Verzeichnis unter %WINDIR%, f.e.
Können Sie kopieren Assemblys im gac mit dem Explorer, oder die gacutil-Programm.
InformationsquelleAutor Andomar
Nein, körperlich Assemblys gespeichert werden, nicht in "C:\Windows\assembly".
nur Verweise auf die Assemblys sind dort gespeichert.
Beispiel Montage "System.Windows.Forms.dll"
(wie auch der größte Teil .NET Framework-Assemblys)
physisch gespeichert "C:\Windows\winsxs" in vielen Editionen, optimiert für viele Plattformen
(gehen Sie einfach zu "C:\Windows\winsxs" im Explorer und geben Sie "System.Windows.Forms.dll" in das Suchfeld ein).
zum Beispiel, können Sie erstellen, die assembly mit starkem Namen registrieren im GAC, aber es ist der physische Standort ist, wo Sie platzieren Sie die assembly-Datei.
(zum Beispiel "C:\Users\%username%\Documents\Visual Studio 2008\Projects\YourAssemblyProjectName\YourAssemblyProjectName\bin\Debug" - VS-Projekte Standard-Verzeichnis).
und mehr, im GAC ist nur Verweise auf Assemblys gespeichert werden, so dass, wenn Sie erstellen Sie Ihre assembly wich, die im GAC registriert ist, die Versammlungen, welche sich mit Ihrer Versammlung, indem Sie darauf verweisen, von GAC, wird auch eine Bauten Version der assembly.
InformationsquelleAutor