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
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\
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
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)
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.
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