onde está o gacutil.exe?


120

Estou usando o Windows 7 Enterprise 32 bits. Eu usei a linha de comando do Windows e também usei a linha de comando do VSTS 2008, mas ao executar o gacutil.exe, não há erro de comando encontrado.

Pergunto-me se preciso instalar o gacutil.exe de algum lugar ou se o gacutil.exe está localizado em outro lugar do meu computador (procurei no meu computador, mas localizei vários arquivos chamados gacutil.exe, não sei qual deles deve ser usado) ?

BTW: Estou usando .Net 3.5.



Você pode simplesmente tomar três arquivos: gacutil.exe, gacutil.exe.confige, gacutlrc.dlla partir de um PC, onde gacutiljá está instalado.
Ant_222 15/07

Respostas:


153

O gacutil vem com o Visual Studio, não com o VSTS. Faz parte do Windows SDK e pode ser baixado separadamente em http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en . Esta instalação terá gacutil.exeincluído. Mas primeiro verifique aqui

C: \ Arquivos de programas \ Microsoft SDKs \ Windows \ v6.0A \ bin

você pode tê-lo instalado.

Como @devi mencionado

Se você decidir pegar os arquivos gacutil da instalação existente, observe que no .NET 4.0 existem três arquivos: gacutil.exe gacutil.exe.config e 1033 / gacutlrc.dll


7
cuidado com "apenas" um show em tamanho (o download)
roundcrisis

4
Aqui está o link para o .NET Download 4.0: microsoft.com/en-gb/download/details.aspx?id=8279
Matt Wilko

10
se você decidir pegar gacutil arquivos de instalação existente, nota que a partir de .NET 4.0 é três arquivos: gacutil.exe gacutil.exe.config e 1033 / gacutlrc.dll
gdbdable

8
E, é claro, com a versão de 64 bits do sistema operacional, o caminho mudou um pouco, por exemplo, o Windows 2012 Server está em C: \ Arquivos de programas (x86) \ SDKs da Microsoft \ Windows \ v8.1A \ bin \ NETFX 4.5.1 Tools
Dijkgraaf

68
  1. Abra o prompt de comando do desenvolvedor.
  2. tipo

onde gacutil


Por que isso tem tantos votos positivos quando a pessoa típica que faria essa pergunta é a pessoa que deve perguntar porque não está no caminho do ambiente: /
Thomas Harris

5

Você pode usar a versão no Windows SDK, mas às vezes pode não ser a mesma versão do .NET Framework que está usando, obtendo o seguinte erro:

Utilitário de cache de assembly global do Microsoft (R) .NET. Versão 3.5.21022.8 Copyright (c) Microsoft Corporation. Todos os direitos reservados. Falha ao adicionar assembly ao cache: esse assembly é criado por um tempo de execução mais recente que o tempo de execução carregado no momento e não pode ser carregado.

No .NET 4.0, você precisará pesquisar no Microsoft SDK v8.0A, por exemplo: C: \ Arquivos de Programas (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0 Tools (no meu caso, só tenho o Versão de 32 bits instalada pelo Visual Studio 2012).


2
Por que a Microsoft enterra isso em um lugar tão obscuro? Meu Visual Studio 2010 teve um atalho para o prompt de comando, mas o Visual Studio 2013 possui isso, e não há opção de menu no IDE (nas ferramentas que é onde eu esperaria) para abrir o prompt de comando. Parece que o sistema ecológico do desenvolvedor do Visual Studio se tornou uma bagunça.
Sam Goldberg

Minha instância do VS 2013 está em Ferramentas-> Visual Studio Command Prompt. Dê uma olhada novamente. (Eu nunca teria pensado para olhar lá, mas por sua sugestão, então obrigado; espero que isso ajude.)
Donald Locker

2

No Windows 2012 R2, você não pode instalar o Visual Studio ou SDK. Você pode usar o PowerShell para registrar assemblies no GAC. Não precisava de nenhuma instalação especial para mim.

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")

Se você precisar obter o nome e o PublicKeyToken, consulte esta pergunta.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.