Esse post pode ser considerado um complemento do post do André Dias, sobre como impedir que um desenvolvedor sobrescrever a política de check-in no TFS.

Com os Events Handlers, podemos fazer mais coisas além de verificação de comentários, podemos adicionar uma complexidade maior  que exigirá alguns testes prévios e debug.

Para debugar um Event Handler e facilitar a vida, vamos adicionar o output do projeto já para a pasta padrão do Team Foundation Server, com isso o nosso Event Handler já será publicado na área de instalação e começará a funcionar sem que seja necessárias nenhuma configuração a mais ou cópia de arquivos. Para isso acesse a propriedade do projeto

clip_image002

Na página de propriedades do projeto, vá para aba Build e vamos adicionar a propriedade Output Path para: C:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\Web Services\Plugins\

clip_image005

Feito isso, podemos mandar compilar o Event Handler que estamos trabalhando para que ele seja instalado.

Agora, para realizarmos um debug, vamos precisar atachar o processo do IIS que está rodando o TFS 2010. Para isso, vamos no menu Debug -> Attach Process

clip_image008

Irá aparecer uma lista de processos disponíveis. Procure o processo do IIS (w3wp.exe) que esteja rodando o .net framework 4.0 (caso no seu servidor possua outras aplicações no framework 4.0, você terá que identificar o processo por algum dos outros campos, o um exemplo, seria o User Name, que é o usuário que está rodando o TFS 2010)

clip_image010

Não esqueça de marcar a opção “Show processes in all sessions” para ver o processo do IIS. Caso você não encontre o processo do TFS, basta força uma “rodada” do TFS, para isso, vá no team explorer e dê um refresh. Isso fará que o processo “entre no ar” novamente. Feito isso, clique em Attach.

Para realizar o debug, abra uma nova IDE do VS2010, conecte no TFS e faça um check-in, com isso você poderá começar a debugar o seu código.

clip_image012

Espero que tenha ajudado e qualquer dúvida, não deixe de entrar em contato!

Até a próxima!

Claudio Leite

Claudio Leite é consultor de ALM da Lambda3, Visual Studio ALM Ranger, PSD, PSM I e PSM II. Graduado em Ciência da Computação pela Universidade Católica de Petrópolis, MBA e POS-MBA em Gestão de Projetos pela Fundação Getúlio Vargas. Twitter: @claudiobernardo