Windows 7 Enterprise 32 비트를 사용하고 있습니다. Windows 명령 줄을 사용하고 VSTS 2008 명령 줄도 사용했지만 gacutil.exe를 실행할 때 명령을 찾을 수 없음 오류가 발생합니다.
어딘가에서 gacutil.exe를 설치해야하는지 또는 내 컴퓨터의 다른 위치에 gacutil.exe가 있는지 궁금합니다 (컴퓨터를 검색했지만 gacutil.exe라는 파일을 여러 개 찾았습니다. 어떤 파일을 사용해야하는지 모르겠습니다) ?
BTW : .Net 3.5를 사용하고 있습니다.
답변
gacutil은 VSTS가 아닌 Visual Studio와 함께 제공됩니다. Windows SDK의 일부이며 http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en 에서 별도로 다운로드 할 수 있습니다 . 이 설치가 gacutil.exe
포함됩니다. 하지만 먼저 여기에서 확인하십시오.
C : \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ bin
설치했을 수도 있습니다.
@devi가 언급했듯이
기존 설치에서 gacutil 파일을 가져 오기로 결정한 경우 .NET 4.0에는 gacutil.exe gacutil.exe.config 및 1033 / gacutlrc.dll의 세 파일이 있습니다.
답변
- 개발자 명령 프롬프트를 엽니 다.
- 유형
여기서 gacutil
답변
Windows SDK에서 버전을 사용할 수 있지만 때때로 사용하는 .NET Framework와 동일한 버전이 아닐 수 있으며 다음 오류가 발생합니다.
Microsoft (R) .NET 전역 어셈블리 캐시 유틸리티. 버전 3.5.21022.8 저작권 (c) Microsoft Corporation. 판권 소유. 캐시에 어셈블리 추가 실패 :이 어셈블리는 현재로드 된 런타임보다 최신 런타임에 의해 빌드되었으며로드 할 수 없습니다.
.NET 4.0에서는 Microsoft SDK v8.0A 내부에서 검색해야합니다. 예 : C : \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0 Tools (제 경우에는 Visual Studio 2012에서 설치 한 32 비트 버전).
답변
Windows 2012 R2에서는 Visual Studio 또는 SDK를 설치할 수 없습니다. powershell을 사용하여 어셈블리를 GAC에 등록 할 수 있습니다. 나를 위해 특별한 설치가 필요하지 않았습니다.
Set-location "C:\Temp"
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
$publish = New-Object System.EnterpriseServices.Internal.Publish
$publish.GacInstall("C:\Temp\myGacLibrary.dll")
이름과 PublicKeyToken을 얻으려면 이 질문을 참조하십시오 .