Klasör ve Dosyaları GAC'de nasıl görüntüleyebilirim?


109

Klasörleri ve alt klasörleri GAC'de görüntülemek istiyorum . Ayrıca GAC’den ekleme ve çıkarma hakkında bilgi edinmek istiyorum .

Yüklemek için bu satırları açarak komut istemine yazıyoruz Visual Studio command prompt: -

gacutil /i [assembly path]

Ancak kaldırmak için yalnızca şunlara ihtiyacımız var: -

gacutil /u [assembly name]

Neden?


Windows dizinindeki derleme klasörlerinden birine giderseniz, arama çubuğuna (dosya gezgininin) aradığınız dll adını yazın, görünmeye başlaması gerekir.
JakeJ

Yanıtlar:


135

Yüklemek:

gacutil -i "path_to_the_assembly"

Görünüm:

Windows Gezgini klasöründe aç

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

VEYA gacutil –l

Bir montajı kuracağınız zaman, gacutilonu nerede bulabileceğinizi belirtmeniz gerekir, bu nedenle tam bir yol da sağlamanız gerekir. Ancak bir derleme zaten GAC'de olduğunda - gacutilbir klasör yolu bilin, bu nedenle yalnızca bir derleme adına ihtiyaç duyar.

MSDN:


4
NET 4.0 için artık GAC konumunun şu şekilde olduğunu unutmayın:% windir% \ Microsoft.NET \ assembly \
Alex Nolasco

57

Bir gün geciktim ve bunda bir dolar eksik. GAC'nin klasör yapısını Windows Gezgini'nde görüntülemek istiyorsanız , kayıt defterini kullanarak bunu yapabilirsiniz :

  1. Regedit'i başlatın.
  2. HKLM \ Software \ Microsoft \ Fusion'a gidin
  3. DisableCacheViewer adlı bir DWORD ekleyin ve değeri 1 olarak ayarlayın.

Geçici bir görünüm için, özel dizin özelliklerini kaldıran klasör yolu yerine bir sürücü koyabilirsiniz.

  1. Hesabınızın ayrıcalık düzeyinde bir Komut İstemi başlatın .
  2. SUBST Z yazın: C: \ Windows \ assembly
    • Z herhangi bir serbest sürücü harfi olabilir.
  3. Bilgisayarım'ı açın ve yeni yedek dizine bakın.
  4. Sanal sürücüyü Komut İsteminden kaldırmak için SUBST Z yazın: / D

Neden böyle bir şey yapmak isteyeceğinize gelince, gerçekten aynı olduklarından emin olmak için bu numarayı GAC'lı DLL'leri farklı makineler arasında karşılaştırmak için kullandım.


Powershell ile kayıt defterini düzenlemeyi otomatikleştirebilirsiniz:
Textcape

Yeni Öğe 'HKLM: \ Software \ Microsoft \ Fusion' -Force | Yeni-ItemProperty -Name "DisableCacheViewer" -PropertyType DWord -Value 1 -Force | Out-Null
Metin Görünümü

40

"Çalıştır" programını başlatın (Windows Vista / 7/8: başlat menüsü arama çubuğuna yazın) ve şunu yazın: C:\windows\assembly\GAC_MSIL

Ardından, tüm GAC dosyalarını normal bir gezgin penceresinde görmek için ana klasöre gidin (Windows Vista / 7/8: gezgin çubuğunda üzerine tıklayarak). Artık her yerde olduğu gibi dosyaları kopyalayabilir, ekleyebilir ve kaldırabilirsiniz.


Teşekkür ederim - .NET 4'ten beri kullanılmayan Windows Gezgini'ni kullanmama izin verdi
Dave Friedel

8

Dosyaları görüntülemek için komut isteminden ( cmd) göz atın , örneğin:

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

GAC'den dosya eklemek ve kaldırmak için aracı kullanın gacutil


onu normal klasör olarak görmek istiyorum.
Rohit Vipin Mathews

@CodingMastero Normal bir klasör DEĞİLDİR !
Klaus Byskov Pedersen

Normal olarak görmek için biraz hack kullanamaz mıyız?
Rohit Vipin Mathews

@CodingMastero Hayır yapamazsınız. Bunu, yukarıda belirtildiği gibi komut isteminden görüntüleyebilirsiniz.
Klaus Byskov Pedersen

1
Evet. Üzgünüm, burada net olamamış olabilirim. C:\Windows\assembly.NET 4.0 GAC'ye göz atmak için kullanamazsınız . Tabii ki yine de .NET 2/3 ile kullanabilirsiniz (bu da yüklüyse). Yeni C:\Windows\Microsoft.NET\assemblydizin için aynı şekilde çalışan karşılaştırılabilir kabuk uzantıları (AFAIK) yoktur .
Christian.K

5

Şunları kullanarak montajlar olarak kurarsınız:

  • Uygulamanız için geliştirdiğiniz bir kurulum programı.
  • gacutil.exeAracı -ikomut satırından seçenekle kullanma .
  • Derlemeyi bırakma %windir%\Assembly(yalnızca .NET 3.5, CLR 2.0'a kadar)

GAC içeriğini aşağıdakileri kullanarak görüntülersiniz:

  • gacutil.exeİle alet -lseçeneği.
  • .NET 2.0, 3.0 ve 3.5 (CLR 2.0) %windir%\assemblyiçin Windows Gezgini'ni kullanarak göz atma .

NET 4.0 için (fiziksel) GAC konumunun değiştiğine dikkat edin. Artık içeride %windir%\Assemblydeğil, şimdi içeride %windir%\Microsoft.NET\assembly. Bununla birlikte, fiziksel konuma bağlı olan herhangi bir kodu asla yazmamalısınız, çünkü çok gerekli olmayan mevcut araçlar göz önüne alındığında (bazı "havalı" yerli sistem tanılama araçları bir yana).


gacutil.exeBildiğim diğer mevcut araçların yanı sıra fusion.dll.
Scott Solmer
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.