Pergunta

Eu escrevi uma classe que lidará com o registro interno no meu aplicativo. Agora eu quero usar esta classe em outro projeto novo e totalmente separado.

Eu poderia simplesmente copiar o arquivo para a nova pasta do projeto, mas gostaria de ter apenas uma cópia para manter, para que todas as alterações se apliquem a ambos os projetos ao longo do tempo.

Posso usar o "Adicionar arquivo existente", mas onde coloco o arquivo para que o próximo desenvolvedor saiba que ele é necessário. Eu já tive uma pasta "compartilhada" para isso, mas uma vez essa pasta não foi trazida para o próximo computador de desenvolvimento.

Qual é a melhor maneira de organizar isso, para que faça mais sentido para novos mantenedores e minimize o risco de links quebrados em projetos.

Foi útil?

Solução

Você pode criar um projeto de biblioteca que tenha essa classe dessa maneira, tudo o que você precisa fazer é adicionar uma referência a esse projeto.

Se essa não for a opção, você pode usar "Clique com o botão direito do mouse -> Adicionar item existente -> Adicionar como link" dessa maneira, você possui apenas uma cópia do código, mas ele pode existir em vários projetos.

Outras dicas

Uma biblioteca de classes para compartilhar é a melhor solução.

Mas você pode adicionar um arquivo a um projeto VS como um link em vez de copiar. Para fazer isso, use a suspensão no botão Adicionar o diálogo Adicionar item existente.

Se você realmente precisa compartilhar o código-fonte, por exemplo, se tiver uma construção simultânea de 32 bits e uma construção de 64 bits da mesma montagem (que é algumas vezes necessária se você depender do código nativo), você pode usar a resposta dada dada a Neste tópico: Como você compartilha o código entre projetos/soluções no Visual Studio?

(Procure '"Link" um arquivo de código entre dois projetos'.)

Quebre seu código de registro em uma assembléia separada.

Você pode incluir essa montagem nos projetos que devem usar esse logger.

Ele mantém tudo agradável e limpo e você só precisará manter um conjunto de código, em vez de ter que se preocupar com cada cópia.

Crie uma nova montagem que contenha esta classe.

Em seguida, todos os seus outros projetos podem se referir a esta assembléia e usar a classe dentro.

Coloque a classe em um espaço de nome exclusivo e adicione o arquivo como um link a todos os projetos que você precisa para usá -lo. Certifique -se de colocar uma instrução usando esse espaço de nome exclusivo, onde você usará a classe, ou terá que qualificar totalmente todos os usos. Para situações como essa, acho que isso é muito preferível que uma assembléia, pois não gera referências desnecessárias, para algo que faz parte do seu próprio código que você deseja compartilhar entre seus projetos.

Você também pode usar o uso do seu sistema de versão para fazer isso.

Normalmente, criamos diretório com solução e projeto principal e, em seguida, compramos esse diretório com o SVN. Em seguida, todas as bibliotecas compartilhadas estão vinculadas usando o SVN: Externo - para que todos os projetos existam no mesmo diretório de soluções.

Depois de comprometer, alguém pode verificar a solução de trabalho com todas as dependências externas.

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