MSBuild - Use o arquivo .csproj ou crie o seu próprio?

OK, então concordo prontamente que sou novato no que diz respeito à integração contínua.

Dito isto, estou tentando configurar um ambiente CC.NET para me educar, mas estou tendo problemas para encontrar as informações necessárias para configurar a parte de compilação automatizada.

Pelo que entendi, em C # o arquivo .csproj produzido pelo VS 2005 e para a frenteé um arquivo MSBuild válido. A saber, consegui integrar a tarefa MSBuild ao CC.NET usando o arquivo .csproj, mas tenho alguns problemas com isso:

Há muita coisa acontecendo aqui que não tenho certeza de que realmente preciso em um ambiente de construção automatizado.Eu não criei este arquivo. Eu não entendo, e isso me assusta. (Programação por Coincidência)A maior parte do que está acontecendo parece abstraída$(MSBuildToolsPath)\Microsoft.CSharp.targetsComo resultado de 1, 2 e 3, modificar o arquivo para incluir algo como MbUnit parece complicado e mais difícil do que precisa. Minha única opção real é incluí-lo noAfterBuild seção, que parece um hack para mim.

Portanto, algumas perguntas para o pessoal do CC.NET, o MSBuild e o MbUnit.

Ao usar o MSBuild, é recomendável usar o arquivo .csproj gerado pelo VS como o arquivo de compilação? Ou devo criar o meu?Os testes MbUnit devem fazer parte do arquivo MSBuild ou do arquivo CC.NET? Minha pesquisa parece sugerir que eles pertencem ao arquivo MSBuild. Se for esse o caso, eu crio um novo arquivo .proj do MSBuild e verifico isso no CVS além do arquivo .csproj? Ou a tarefa MbUnit se torna parte do meu arquivo .csproj?Semelhante à pergunta 2. Se eu adicionar os testes MbUnit ao arquivo MSBuild e acabar usando o arquivo .csproj, será oTarget Name="AfterBuild" realmente a seção para adicionar essa informação? Não deveria haver umTarget Name="Test" seção? O uso do arquivo .csproj gerado pelo VS parece impedir a segunda opção.

Eu sei que há muita coisa lá, mas a maior parte do que eu pude encontrar on-line pressupõe um certo nível de familiaridade com esses tópicos que eu simplesmente não tenho - a menos que eu esteja enganado, a curva de aprendizado para essas coisas não é é uma curva, é uma função de etapa. :)

Edição 1: Atualizei o texto para ser um pouco mais conciso e abordar algumas das questões que tive com as respostas.

questionAnswers(7)

yourAnswerToTheQuestion