2012-02-29 27 views
78

Tôi muốn xem các thư mục và thư mục con trong GAC. Cũng muốn biết thêm và xóa khỏi GAC.Cách xem Thư mục và Tệp trong GAC?

Để cài đặt chúng tôi viết dòng này trong cửa sổ lệnh bằng cách mở Visual Studio command prompt: -

gacutil /i [assembly path]

Nhưng để gỡ bỏ cài đặt chúng ta chỉ cần: -

gacutil /u [assembly name]

Tại sao?

Trả lời

104

Install:

gacutil -i "path_to_the_assembly" 

Xem: thư mục

Open in Windows Explorer

  • NET 1.0 - NET 3.5: c:\windows\assembly (%systemroot%\assembly)
  • NET 4.x: %windir%\Microsoft.NET\assembly

HOẶC gacutil –l

Khi bạn đang đi để cài đặt một assembly, bạn phải xác định nơi gacutil thể tìm thấy nó, vì vậy bạn phải cung cấp một đường dẫn đầy đủ là tốt. Nhưng khi một hội đồng đã có trong GAC - gacutil biết một đường dẫn thư mục để nó chỉ cần một tên lắp ráp.

MSDN:

+3

Lưu ý rằng đối với .NET 4.0, vị trí GAC hiện là: % windir% \ Microsoft.NET \ assembly \ –

7

Để xem các tập tin chỉ duyệt chúng từ dấu nhắc lệnh (cmd), Eg .:

c:\>cd \Windows\assembly\GAC_32 
c:\Windows\assembly\GAC_32> dir 

Để thêm và xóa tệp khỏi GAC sử dụng công cụ gacutil

+0

tôi muốn xem thư mục đó làm thư mục thông thường. –

+0

@CodingMastero Đó là *** KHÔNG *** một thư mục bình thường! –

+0

Chúng tôi có thể sử dụng một số hack để xem nó như một bình thường không? –

4

Bạn cài đặt như lắp ráp bằng cách sử dụng:

  • Một chương trình cài đặt, bạn tác giả cho ứng dụng của bạn.
  • Sử dụng công cụ gacutil.exe với tùy chọn -i từ dòng lệnh.
  • Thả lắp ráp trong %windir%\Assembly (chỉ lên đến .NET 3.5, CLR 2,0)

Bạn xem nội dung của GAC ​​sử dụng:

  • Công cụ gacutil.exe với các tùy chọn -l.
  • Dành cho .NET 2.0, 3.0 và 3.5 (CLR 2.0) duyệt đến %windir%\assembly bằng Windows Explorer.

Lưu ý rằng vị trí GAC (vật lý) đã thay đổi đối với .NET 4.0. Nó không còn trong số %windir%\Assembly, nhưng bây giờ trong %windir%\Microsoft.NET\assembly. Tuy nhiên, bạn không bao giờ nên viết bất kỳ mã nào phụ thuộc vào vị trí vật lý, bởi vì các công cụ sẵn có không cần thiết (một số công cụ chẩn đoán hệ thống nhà "mát mẻ" sang một bên).

+0

Bên cạnh 'gacutil.exe', công cụ duy nhất khác mà tôi biết là fusion.dll. –

46

Tôi trễ một ngày và một đô la ngắn trên trang này. Nếu bạn muốn xem cấu trúc thư mục của GAC ​​trong Windows Explorer, bạn có thể thực hiện điều này bằng cách using the registry:

  1. Khởi chạy regedit.
  2. Navigate to HKLM \ Software \ Microsoft \ Fusion
  3. Thêm một DWORD với tên DisableCacheViewer và thiết lập giá trị 1.

Đối với một cái nhìn tạm thời, bạn có thể thay thế một ổ đĩa cho các đường dẫn thư mục, mà dải đi các thuộc tính thư mục đặc biệt.

  1. Khởi chạy nhắc lệnh tại cấp đặc quyền của tài khoản của bạn cấp đặc quyền.
  2. Loại SUBST Z: C: \ Windows \ lắp ráp
    • Z có thể là bất kỳ ký tự ổ đĩa miễn phí.
  3. Mở Máy tính của tôi và tìm trong thư mục thay thế mới.
  4. Để loại bỏ các ổ đĩa ảo từ Command Prompt, gõ SUBST Z:/D

Đối với lý do tại sao bạn muốn làm điều gì đó như thế này, tôi đã sử dụng thủ thuật này để so sánh GAC'd DLL giữa các máy khác nhau để đảm bảo chúng thực sự giống nhau.

27

Launch chương trình "Run" (Windows Vista/7/8: gõ vào thanh start tìm kiếm trong menu) và gõ: C:\windows\assembly\GAC_MSIL

Sau đó di chuyển đến thư mục cha (Windows Vista/7/8: bằng cách nhấp vào nó trong thanh thám hiểm) để xem tất cả các tệp GAC trong cửa sổ trình duyệt thông thường. Bây giờ bạn có thể sao chép, thêm và xóa tệp ở mọi nơi khác.

+0

Cảm ơn bạn - nó cho phép tôi sử dụng Windows Explorer đã được đánh dấu lỗi thời kể từ .NET 4 –

Các vấn đề liên quan