[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\assembly
Windows 탐색기를 사용하여 DLL 파일을 폴더로 끌어서 놓기 만하면 됩니다.
경고:
이전 버전의 .NET Framework에서 Shfusion.dll Windows 셸 확장을 사용하면 어셈블리를 파일 탐색기로 끌어서 설치할 수 있습니다. .NET Framework 4부터 Shfusion.dll은 더 이상 사용되지 않습니다.
답변
gacutil.exe 는 GAC 작업에 사용되는 .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 라이브러리를 시도했지만 어셈블리 매니페스트를 예상하고 있다는 오류로 실패했습니다. 나는 그것이 여기서 질문이 아니라는 것을 알고 있지만 누군가가 그것을 추가 할 수 없다는 것을 알게되면 그 이유가 될 수 있다고 언급 할 것이라고 생각했습니다.
-톰