Infra - Sharepoint

Sharepoint: Como Copiar DLLs do GAC

Nesse artigo, vamos explorar como copiar DLLs do GAC passo-a-passo, utilizando a ferramenta GetGACAssemblies, criada pelo Patrick Wellink que já se encontra disponível na nossa seção Tools do Canal SharePoint.

por Wagner Amorim



Overview

Esse é um daqueles artigos que devemos ter armazenado como referência, para profissionais da área de desenvolvimento de software essa é uma atividade que se ainda não foi necessária, possívelmente será, já para profissionais que cuidam da infraestrutra de aplicações, copiar DLLs do GAC (Global Assembly Cache) é uma atividade razoavelmente comum.

O objetivo desse artigo não é focar no GAC, que nada mais é que um diretório central que armazena assemblys compartilhadas entre várias aplicações de um computador.

Nesse artigo, vamos explorar como copiar DLLs do GAC passo-a-passo, utilizando a ferramenta GetGACAssemblies, criada pelo Patrick Wellink que já se encontra disponível na nossa seção Tools do Canal SharePoint.

Essa ferramenta pode ser muito útil em cenários de backup, migração e manutenção de servidores que hospedam aplicações com DLLs armazenadas no GAC.

Vejam mais informações sobre a ferramenta e sobre o GAC em:

Blog do Patrick Wellink
http://bloggingabout.net/blogs/wellink/archive/2006/07/12/12947.aspx

Blog do Jan Schreuder
http://bloggingabout.net/blogs/jschreuder/archive/2006/08/09/13282.aspx

Global Assembly Cache no MSDN
http://msdn.microsoft.com/en-us/library/yf1d93sz(VS.80).aspx

Solução

Para essa solução vou trabalhar com os seguintes produtos e tecnologias:

o Windows Server 2008 com SP1

o Windows SharePoint Services 3.0 com SP2

No nosso exemplo vou extrair a DLL do Windows SharePoint Services (Microsoft.SharePoint) para efeito de teste, confira abaixo todos os passos necessários para extrair DLLs utilizando a ferramenta GetGACAssemblies.

INFO: Eu utilizei a DLL Microsoft.SharePoint para efeito de teste, porém o exemplo abaixo se aplica para qualquer DLL presente no GAC.

1. Abra o GAC no Windows Explorer.

No Windows Explorer navegue até a pasta do GAC (C:\WINDOWS\assembly), certifique-se que a DLL Microsoft.SharePoint está instalada corretamente.

2. Crie a Pasta que irá ser copiada a DLL.

Para nosso exemplo crie uma pasta chamada DLLsGAC na raiz do C: (C:\DLLsGAC)

3. Copie a Executável do GetGACAssemblies.

Após baixar a ferramenta GetGACAssemblies da nossa seção de Tools (http://www.canalsharepoint.com.br/tools/default.aspx), extraia o ".ZIP" da ferramenta e copie o ".EXE", presente em “bin\Release” para a pasta criada acima.

4. Extraia a DLL

a. Abra o Prompt de Comando (Start/Run/cmd).

b. Via Prompt de Comando, navegue até a pasta criada acima.

c. Execute o seguinte comando:

i. GetGACAssemblies C:\Windows\Assembly C:\DLLsGAC Microsoft.SharePoint.dll

Caso não apareça nenhum erro, a operação foi concluída com sucesso, verifique se na pasta DLLsGAC a DLL Microsoft.SharePoint está disponível.

DICA: Um truque interessante nesse passo, é que se colocarmos por exemplo Microsoft.SharePoint*.dll a ferramenta nos traria todas as DLLs que começassem com Microsoft.SharePoint, isso se torna muito interessante em cenários que precisamos extrair diversas DLLs dentro de um mesmo namespace.

Conclusão

Nesse artigo nós vimos passo-a-passo como copiar DLLs do GAC utilizando a ferramenta GetGACAssemblies.

Essa rotina nos traz muitas vantagens, pois dessa forma nós garantimos estar sempre com as DLLs mais recentes utilizadas pelas nossas aplicações, é muito comum inclusive ver profissionais de infra-estrutura utilizando ferramentas como essa para realizar backups de ambientes.

Wagner Amorim

Wagner Amorim - Consultor com 7 anos de experiência no mercado de TI, já atuou em diversos projetos para médias e grandes empresas. Focado em tecnologias Microsoft, têm se especializado nas Tecnologias SharePoint e Microsoft .NET desde 2003. Membro ativo das comunidades Technet e MSDN voltadas para SharePoint e Líder da maior Comunidade de SharePoint no Brasil (Canal SharePoint).
Possui as certificações MCP: .NET Framework 2.0, MCTS: .NET Framework 2.0 Web Applications, Windows SharePoint Services 3.0: AD, Windows SharePoint Services 3.0: Config., Microsoft Office SharePoint Server 2007: Config., Microsoft Office SharePoint Server 2007: AD e MCPD: Web Developer.
Blog:
http://waamorim.spaces.live.com/