GAC에서 폴더 및 파일을 보는 방법은 무엇입니까?


109

GAC 에서 폴더와 하위 폴더를보고 싶습니다 . 또한 GAC 에서 추가 및 제거에 대해 알고 싶습니다 .

설치하려면 다음을 열어 명령 프롬프트에 다음 줄을 작성합니다 Visual Studio command prompt.

gacutil /i [assembly path]

그러나 제거하려면 다음 만 필요합니다.

gacutil /u [assembly name]

왜?


Windows 디렉터리의 어셈블리 폴더 중 하나로 이동 한 다음 검색 창 (파일 탐색기의)에 찾고있는 dll 이름을 입력하면 표시되기 시작합니다.
— JakeJ

답변:


135

설치:

gacutil -i "path_to_the_assembly"

전망:

Windows 탐색기 폴더에서 열기

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

또는 gacutil –l

어셈블리를 설치할 때 gacutil찾을 수있는 위치를 지정해야 하므로 전체 경로도 제공해야합니다. 그러나 어셈블리가 이미 GAC에 gacutil있는 경우 폴더 경로를 알고 있으므로 어셈블리 이름 만 있으면됩니다.

MSDN :


4
.NET 4.0의 경우 GAC 위치는 현재 % windir % \ Microsoft.NET \ assembly \
— Alex Nolasco입니다.

57

나는 하루 늦었고 이것에 대해 1 달러 부족합니다. Windows 탐색기에서 GAC의 폴더 구조를 보려면 레지스트리 를 사용하여 이를 수행 할 수 있습니다 .

  1. regedit를 시작합니다.
  2. HKLM \ Software \ Microsoft \ Fusion으로 이동합니다.
  3. DisableCacheViewer라는 DWORD를 추가하고 값을 1로 설정합니다.

임시보기의 경우 폴더 경로를 드라이브로 대체하여 특수 디렉터리 속성을 제거 할 수 있습니다.

  1. 계정의 권한 수준 에서 명령 프롬프트를 시작 합니다.
  2. SUBST Z 입력 : C : \ Windows \ assembly
    • Z는 사용 가능한 드라이브 문자가 될 수 있습니다.
  3. 내 컴퓨터를 열고 새 대체 디렉토리를 찾습니다.
  4. 명령 프롬프트에서 가상 드라이브를 제거하려면 SUBST Z : / D를 입력합니다.

이와 같은 작업을 원하는 이유에 대해서는이 트릭을 사용하여 서로 다른 컴퓨터간에 GAC DLL을 비교하여 실제로 동일한 지 확인했습니다.


Powershell을 사용하여 레지스트리 편집을 자동화 할 수 있습니다.
— Textcape

새 항목 'HKLM : \ Software \ Microsoft \ Fusion'-Force | New-ItemProperty -Name "DisableCacheViewer"-PropertyType DWord -Value 1 -Force | Out-Null
— Textcape

40

"실행"프로그램을 시작하고 (Windows Vista / 7 / 8 : 시작 메뉴 검색 창에 입력) 다음을 입력합니다. C:\windows\assembly\GAC_MSIL

그런 다음 상위 폴더 (Windows Vista / 7 / 8 : 탐색기 표시 줄에서 클릭)로 이동하여 일반 탐색기 창에서 모든 GAC 파일을 확인합니다. 이제 다른 곳과 마찬가지로 파일을 복사, 추가 및 제거 할 수 있습니다.


감사합니다. .NET 4 이후로 쓸모없는 것으로 표시된 Windows 탐색기를 사용할 수있었습니다
— Dave Friedel

8

파일을 보려면 명령 프롬프트 ( cmd) 에서 파일을 찾아보십시오 . 예 :

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

GAC에서 파일을 추가 및 제거하려면 도구를 사용하십시오. gacutil


일반 폴더로보고 싶습니다.
— Rohit Vipin Mathews 2012

@CodingMastero 일반 폴더 가 아닙니다 !
— Klaus Byskov Pedersen 2012

정상적인 것으로보기 위해 해킹을 사용할 수 없습니까?
— Rohit Vipin Mathews 2012

@CodingMastero 아니요. 위에서 설명한대로 명령 프롬프트를 통해 볼 수 있습니다.
— Klaus Byskov Pedersen 2012

1
예. 여기서 명확하지 않았을 수도 있습니다. C:\Windows\assembly.NET 4.0 GAC를 탐색하는 데 사용할 수 없습니다 . 물론 .NET 2/3에서도 사용할 수 있습니다 (설치된 경우). 새 C:\Windows\Microsoft.NET\assembly디렉토리 에 대해 동일한 방식으로 작동하는 유사한 쉘 확장 (AFAIK)이 없습니다 .
— Christian.K

5

다음을 사용하여 어셈블리로 설치합니다.

  • 응용 프로그램을 위해 작성하는 설치 프로그램.
  • 명령 줄 gacutil.exe의 -i옵션 과 함께 도구를 사용합니다 .
  • 어셈블리 삭제 %windir%\Assembly(최대 .NET 3.5, CLR 2.0)

다음을 사용하여 GAC의 콘텐츠를 봅니다.

  • 옵션 이있는 gacutil.exe도구입니다 -l.
  • .NET 2.0, 3.0 및 3.5 (CLR 2.0)의 %windir%\assembly경우 Windows 탐색기 를 사용하여 검색합니다 .

.NET 4.0에서 (물리적) GAC 위치가 변경되었습니다. 더 이상에 있지 %windir%\Assembly않지만 지금은에 %windir%\Microsoft.NET\assembly있습니다. 그러나 거의 필요하지 않은 사용 가능한 도구 (일부 "멋진"자체 개발 시스템 진단 도구 제외)가 제공되므로 어쨌든 물리적 위치에 의존하는 코드를 작성해서는 안됩니다.


게다가 gacutil.exe제가 알고 사용할 수있는 유일한 도구 fusion.dll입니다.
— Scott Solmer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.