[c#] GAC에서 .NET DLL 파일을 어떻게 등록합니까?

GAC.DLL 에 등록하고 싶은 .NET 파일 을 만들었습니다 .

Windows Server 2003 명령 프롬프트 에서이 명령을 사용했습니다 .

C:\"Path of dll"\>gacutil /i dllname.dll
'gacutil' is not recognized as an internal or external command,
operable program or batch file.

경로가 올바르지 않다고합니다.

.NET cmd 프롬프트에서 이것을 사용해야합니까? 그렇다면 .NET cmd 프롬프트를 찾을 수 없습니다.



답변

gacutil도구 를 사용하여 수행 할 수 있습니다 . 가장 간단한 형태 :

gacutil /i yourdll.dll

프로그램 -> Visual Studio- > Visual Studio 도구 의 시작 메뉴에서 Visual Studio 명령 프롬프트를 찾을 수 있습니다.


답변

너는 필요할거야:

  • 강력한 어셈블리 이름 지정 (Visual Studio, 프로젝트 속성, 서명 탭, 어셈블리 서명)
  • 빌드 이벤트 변경 (프로젝트 속성, 빌드 이벤트 탭, 빌드 후 명령 줄)
   cd C : \ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ Bin
   gacutil.exe / i "$ (대상 경로)"/ f / nologo
   gacutil / l "$ (대상 이름)"/ nologo

이제 프로젝트를 빌드 할 때마다 GAC에 설치됩니다.


답변

C:\Windows\assemblyWindows 탐색기를 사용하여 DLL 파일을 폴더로 끌어서 놓기 만하면 됩니다.

경고:

이전 버전의 .NET Framework에서 Shfusion.dll Windows 셸 확장을 사용하면 어셈블리를 파일 탐색기로 끌어서 설치할 수 있습니다. .NET Framework 4부터 Shfusion.dll은 더 이상 사용되지 않습니다.

원본 : 방법 : 전역 어셈블리 캐시에 어셈블리 설치


답변

Wikipedia에서 :

gacutil.exeGAC 작업에 사용되는 .NET 유틸리티 입니다.

다음 명령을 사용하여 GAC 에서 공유 어셈블리의 가용성을 확인할 수 있습니다 .

gacutil.exe /l "assemblyName"

다음 명령을 사용하여 GAC 에 공유 어셈블리를 등록 할 수 있습니다 .

gacutil.exe /i "assemblyName"

또는 GUI를 사용하여 어셈블리 파일을 다음 위치에 드롭합니다.

%windir%\assembly\

이 유틸리티의 다른 옵션은 다음과 같이 /?플래그 를 사용하는 경우 간략하게 설명됩니다 .

gacutil.exe /?


답변

이러한 응답은 gacutil이 C : \ WINDOWS \ Microsoft.NET \ Framework \ v1.1 *에 있다는 것을 알려주지 않습니다.

내 v2.0 폴더에 없었습니다. 하지만 앞서 제안한대로 DLL을 C : \ WINDOWS \ Assembly 폴더로 끌어다 놓으려고 시도했으며 .NET 라이브러리 인 한 더 쉽고 작동합니다. 또한 COM 라이브러리를 시도했지만 어셈블리 매니페스트를 예상하고 있다는 오류로 실패했습니다. 나는 그것이 여기서 질문이 아니라는 것을 알고 있지만 누군가가 그것을 추가 할 수 없다는 것을 알게되면 그 이유가 될 수 있다고 언급 할 것이라고 생각했습니다.

-톰


답변

명령 프롬프트가 두렵다GACView를 사용해보십시오 .

DOS에서 PATH를 올바르게 설정하지 않았습니다. DOS에서 사용하려면 gacutil이있는 경로를 지정해야합니다.


답변

  • V2012 또는 시스템에 설치된 모든 버전 용 개발자 명령 프롬프트 실행

  • gacutil / i pathofDll

  • 시작하다

끝난!!!