Use o Project Linker para compartilhar código-fonte em vários projetos
Sobre complementos aprimorados
Primeiro, há uma nota sobre o complemento antes das instruções de como fazer.
Estou usando um complemento de extensão para o Visual Studio 2012, Project Linker 2012, mas há também o Project Linker, que tem quase a mesma funcionalidade, mas com autores diferentes, e o Project Linker só funciona bem no Visual Studio 2010. Desta vez, o complemento usado no Visual Studio 2012 será "Project Linker 2012".
Por outro lado, se você estiver usando o Visual Studio 2010, você pode incluir "Project Linker". Eu acho que você pode colocá-lo quase da mesma maneira que eu vou explicar desta vez.
Sobre o compartilhamento de código-fonte entre vários projetos
Compartilhar código-fonte entre vários projetos em si é padrão no Visual Studio. Uma vez que os arquivos de origem basicamente precisam ser colocados abaixo da pasta onde os arquivos do projeto estão localizados, por exemplo, se você arrastar os arquivos de origem do projeto A para o projeto B, ele será uma cópia do arquivo, que será o gerenciamento duplo do código.
Vamos começar com a capacidade de compartilhar código fonte no Visual Studio. Simplificando, é uma imagem que cria um link (atalho) do arquivo de origem. Para criar um link de código, complete as seguintes etapas:
Criamos projetos chamados Application1 e Application2, onde os arquivos de origem estão realmente no Application1 e o Application2 faz referência aos arquivos de origem. Na figura abaixo, temos um arquivo "ProfileLoader.cs" no Aplicativo1 que o projeto Application2 faz referência.
Clique com o botão direito do mouse no projeto Aplicativo2 e escolha Adicionar > item existente.
Quando a caixa de seleção de arquivos for exibida, selecione o arquivo "ProfileLoader.cs" na pasta de "Application1" a partir do qual você está se referindo, clique no botão "..." à direita do canto inferior direito e selecione "Adicionar como link".
O arquivo .cs ProfileLoader é adicionado ao projeto no Application2. Este é apenas um link para o arquivo Apllication1 ProfileLoader.cs, não uma cópia. Você pode ver que os ícones quadrados e de seta foram adicionados no canto inferior direito do ícone de arquivo.
Se você abrir e editar o arquivo ProfileLoader.cs no Application2 neste estado, você editará o arquivo ProfileLoader.cs no Aplicativo1.
É claro que o arquivo referenciado é feito da mesma forma que quando você coloca o arquivo de origem normalmente. Como o namespace permanece o Application1, você pode usar a classe como de costume, especificando o namespace como mostrado abaixo.
Use o Project Linker para automatizar o compartilhamento de código-fonte
Se você só tem dois projetos compartilhando arquivos de origem, ou se você tem apenas alguns arquivos para compartilhar, como mencionado acima, não há problema com a operação manual, mas se você tiver mais projetos ou arquivos, o trabalho manual pode ser bastante incômodo. Uma vez que o número de arquivos que podem ser compartilhados ao mesmo tempo pela operação acima é uma unidade de pasta, o mesmo procedimento deve ser seguido se as pastas forem hierárquicas. Além disso, se você quiser alterar a hierarquia da pasta, você deve reconfigurá-la em todos os projetos.
Você pode automatizar essas operações usando a seguinte extensão do Visual Studio, Project Linker. Observe que as extensões só estão disponíveis nas edições do Visual Studio de Professional ou superior.
Baixe a partir da seguinte URL:
Depois de baixar o arquivo, clique duas vezes nele para lançá-lo. Está em formato de instalador. Feche todo o Visual Studio antes de instalar.
Certifique-se de que o Visual Studio que deseja instalar esteja verificado e clique no botão Instalar.
Feche-o após a instalação bem sucedida.
Quando a instalação estiver concluída, abra o arquivo de solução com vários projetos. Neste caso, suponha que o projeto "Application1" tenha o conteúdo do arquivo de origem e "Application2" tenha sua referência.
Clique com o botão direito do mouse no projeto que deseja fazer referência e escolha Adicionar link de projeto.
Quando uma caixa de diálogo for aberta, selecione o referrer para o projeto Applicarion1. Como o título diz "Selecionar projeto de origem", selecione o projeto que tem a entidade de arquivo de origem. Uma vez selecionado, clique no botão OK.
Quando "Vincular todos os itens por padrão" for verificado, quando você pressionar o botão "OK", os arquivos e a estrutura da pasta do Aplicativo1 serão sincronizados com o Application2, portanto, se você não quiser sincronizar de repente, por favor, desmarque-o. Por outro lado, se você quiser sincronizar em massa, é conveniente verificar.
Se o link for bem sucedido, clique no botão "OK".
O Application2 está vinculado ao Application1, então vamos tentar adicionar uma classe ao Apllication1. Depois de criar um link para o seu projeto, você basicamente executa a operação com a fonte de referência "Application1".
Clique com o botão direito do mouse no projeto e escolha Adicionar - Novo Item.
Adicione uma aula. As aulas podem adicionar o que quiserem. Aqui estamos criando uma classe chamada "StringHelper" para ajudar na edição de strings.
Quando você adiciona um arquivo de origem, um link é criado automaticamente para o arquivo no projeto Application2.
Tente criar uma pasta.
A pasta também é criada automaticamente. A propósito, não há conceito de link em uma pasta, então o que é criado é uma pasta física.
Se você mover o arquivo para a pasta que acabou de criar, o destino vinculado também será automaticamente movido da mesma forma.
Tente excluir a pasta e os arquivos nela.
O link será removido da mesma forma. Desta forma, o Project Linker permite sincronizar estruturas de arquivos e pastas em vários projetos.
Quando você tem vários projetos vinculados, você pode verificar em que estado eles estão atualmente. No menu, selecione Editar links de projeto.
Aqui você pode rever a lista de links e desligá-los. Para desvincular, selecione o link de destino da lista e clique no botão "Desvincular".