Pergunta

Quais são as melhores práticas para fazer check-in de diretórios BIN em um ambiente de desenvolvimento colaborativo usando SVN?As referências em nível de projeto devem ser excluídas do check-in?É mais fácil adicionar todos os diretórios bin?

Eu desenvolvo muitos sites DotNetNuke e parece que em um ambiente multi-desenvolvedor é sempre uma tarefa enorme configurar o ambiente corretamente.

O objetivo final (é claro) é fazer com que um novo desenvolvedor verifique o tronco do SVN, restaure o banco de dados DNN e faça com que tudo 'funcione'...

Foi útil?

Solução

Quaisquer assembleias que deverão estar no GAC deverão permanecer no GAC.Isso inclui System.web.dll ou qualquer outra dll de terceiros que você implantará no GAC em produção.Isso significa que um novo desenvolvedor teria que instalar esses assemblies.

Todos os outros assemblies de terceiros devem ser referências por meio de um caminho relativo.Minha estrutura típica é:

-Project
--Project.sln
--References
---StructureMap.dll
---NUnit.dll
---System.Web.Mvc.dll
--Project.Web
---Project.Web.Proj
---Project.Web.Proj files
--Project
---Project.Proj
---Project.Proj files

Project.Web e Project fazem referência relativa aos assemblies na pasta raiz/References.Esses .dlls são verificados no Subversion.

Além disso, */bin */bin/* obj deve estar em seu caminho global para ignorar.

Com essa configuração, todas as referências a assemblies são feitas por meio do GAC (portanto, devem funcionar em todos os computadores) ou relativas a cada projeto da sua solução.

Outras dicas

Esta é uma pergunta específica do .Net?

Geralmente, a prática recomendada é não fazer check-in de nada que seja criado automaticamente a partir de arquivos que já estejam no SCM.Idealmente, tudo isso é criado como parte do seu processo de construção automática.

Se o bin diretório ao qual você está se referindo contém binários de terceiros, em vez de uma compilação do seu projeto, ignore (vote negativamente?) Este conselho.

Cirurgião de árvore é uma ótima ferramenta que cria uma árvore de desenvolvimento .NET vazia.Ele foi aprimorado ao longo dos anos de uso e implementa muitas práticas recomendadas.

O Maven ajuda bastante com esse problema quando estou codificando Java.Nós enviamos o pom.xml para o scs e o repositório maven contém todas as nossas dependências.Para mim, parece uma boa maneira de fazer isso.

Seguimos a prática de usar um diretório de fornecedores que contém todos os cabeçalhos e binários específicos do fornecedor.O objetivo é que qualquer pessoa seja capaz de construir o produto apenas verificando-o e executando algum script de construção de nível superior.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top