Ich möchte die in meinem Projekt erstellten Assemblys exportieren. Aber wo sind sie physisch gespeichert?Wo werden die im GAC installierten Baugruppen physisch gespeichert?
Antwort
Ich fand diesen Beitrag, nachdem ich meine Frage schrieb. Es ist wirklich gut erklärt:
Sie werden in der Lage sein, sie zu sehen, wenn Sie zu
c:\windows\assembly
mit Explorer navigieren, in dem Sie eine schön formatierte Liste von Baugruppen sehen werden.
Die für diese Ansicht verantwortliche Shell-Erweiterung zeigt nicht nur Assemblys im GAC, sondern auch die nativen Versionen von Assemblys, die mit ngen.exe vorkompiliert wurden.
Aber die Dateien sind nicht wirklich hier gespeichert - die Shell-Erweiterung maskiert einfach ihre wahre Position. Sie können sehen, wo die Dateien wirklich gespeichert sind, indem Sie über eine Eingabeaufforderung zum selben Verzeichnis navigieren.
An diesem Speicherort befinden sich eine Reihe von Unterverzeichnissen, einschließlich eines namens GAC. Unter mehreren Schichten von Hashcodes und Assemblynamen befinden sich die physischen Assemblys und eine altmodische .INI-Datei, die unter anderem den starken Namen enthält. Es lohnt sich, in diesem unerforschten Gebiet zu erkunden, nur um zu verstehen, was unter den Abdeckungen vor sich geht, aber hüte dich davor, Änderungen vorzunehmen, da die GAC undurchsichtig sein soll.
Der physische Speicherort des GAC ist das Assembly-Verzeichnis unter% WINDIR%, z.
c:\windows\assembly
Sie können Baugruppen mit dem Explorer oder dem Gacutil-Programm in den gac kopieren.
Sie sind in% systemroot% in einem Ordner Montage
% systemroot% Variable ist ein spezielles systemweite Umgebungsvariable gefunden auf Microsoft Windows NT und seine Derivate genannt gespeichert. Sein Wert ist der Speicherort des Systemordners einschließlich Laufwerk und Pfad.
Das Laufwerk entspricht% SystemDrive% und der Standardpfad bei einer Neuinstallation hängt von der Version des Betriebssystems ab. In der Standardeinstellung auf eine saubere Installation:
* Windows NT 5.1 (Windows XP) and newer versions use \WINDOWS
* Windows NT 5.0 (Windows 2000), Windows NT 4.0 and Windows NT 3.1 use \WINNT
* Windows NT 3.5x uses \WINNT35
(aus Wikipedia)
Nein, physische Baugruppen werden nicht in "C: \ Windows \ Assembly" gespeichert. werden nur Referenzen auf die Baugruppen gespeichert. zum Beispiel Assembly "System.Windows.Forms.dll" (sowie der Großteil der .NET Framework-Assemblies) ist physisch in "C: \ Windows \ winsxs" in vielen Editionen gespeichert, 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. Beispiel: Sie können eine Assembly mit starkem Namen erstellen und sie im GAC registrieren, aber an ihrem physischen Speicherort platzieren Sie die Assemblydatei. (zum Beispiel "C: \ Benutzer \% Benutzername% \ Dokumente \ Visual Studio 2008 \ Projekte \ YourAssemblyProjectName \ YourAssemblyProjectName \ bin \ Debug" - Standardverzeichnis von VS-Projekten). und mehr, in GAC sind nur Referenzen auf Baugruppen gespeichert. Wenn Sie also Ihre Baugruppe neu erstellen, die in GAC registriert ist, verwenden die Baugruppen, die Ihre Baugruppe verwenden, indem sie aus GAC referenziert, auch eine neu erstellte Version Ihrer Baugruppe.
- 1. Wo befinden sich Baugruppen in .NET physisch?
- 2. Müssen unterstützende Baugruppen im GAC registriert werden?
- 3. Wo wird die JSP-Sitzung physisch gespeichert?
- 4. Wo die Einrichtungseinstellungen gespeichert werden
- 5. So überschreiben Sie Baugruppen in GAC
- 6. Wo werden Zeigermetadaten gespeichert?
- 7. Wo werden Makros gespeichert?
- 8. Flask-Sitzungen, wo werden die Cookies gespeichert?
- 9. IPB4 - Wo werden die Gruppennamen gespeichert?
- 10. Wo werden die .pickle-Dateien gespeichert?
- 11. Wo werden die Daten für Properties.Settings.Default gespeichert?
- 12. Wo sollten Interfaces "physisch leben"?
- 13. AppLaunchChecker, wo werden die Daten gespeichert?
- 14. Wo werden const Daten gespeichert?
- 15. Wo werden SSIS-Pakete gespeichert?
- 16. Wo/wie werden Verzweigungsvorhersagedaten gespeichert?
- 17. Wo können Metadaten gespeichert werden?
- 18. Wo werden String-Daten gespeichert?
- 19. Wo werden InAPP-Käufe gespeichert?
- 20. Wo werden ServiceWorker Daten gespeichert?
- 21. Wo werden heruntergeladene Sounddateien gespeichert?
- 22. Wo \ Wie verteilte Konfigurationsdaten gespeichert werden
- 23. Muss eine (.net) COM + -Baugruppe im GAC installiert werden?
- 24. Wo wird die Referenzvariable gespeichert
- 25. Wie verwenden Sie GAC-Baugruppen als Referenzen mit csc.exe?
- 26. Wo werden lokale Variablen zur Kompilierzeit gespeichert?
- 27. Wo können Delphi DCU-Dateien gespeichert werden?
- 28. Wo können VAO-Attribute gespeichert werden?
- 29. Wo werden Screenshots von phantom.js gespeichert?
- 30. Wie kann ich Baugruppen manuell in den GAC kopieren?