A questão é realmente simples. Em vez de criar pastas no Visual Studio, crio uma estrutura de diretórios para o meu projeto no sistema de arquivos. Como incluo todas as pastas e arquivos em um projeto, mantendo a estrutura?
Se eu "Adicionar arquivo existente" em uma pasta chamada Serviços e navegar para um arquivo na estrutura de diretórios .. Serviços> Gerenciamento de contas> CreateAccount.cs, ele aparecerá no Visual Studio da seguinte forma: Serviços> CreateAccount.cs. Eu não quero isso.
Eu já tenho uma estrutura de diretórios inteira elaborada, pois imitamos nossos desenvolvedores de clientes usando a mesma estrutura para organização. Como adiciono todas as pastas e arquivos ao projeto no Visual Studio? Ou preciso fazer o que a maioria dos usuários da Microsoft faz e "tolerar" e recriar todas as pastas através do Visual Studio?
fonte
Respostas:
Você precisa colocar sua estrutura de diretórios no diretório do projeto. E, em seguida, clique no ícone "Mostrar todos os arquivos" na parte superior da caixa de ferramentas do Solution Explorer. Depois disso, o diretório adicionado será exibido. Você precisará selecionar esse diretório, clicar com o botão direito do mouse e escolher "Incluir no projeto".
fonte
Você também pode arrastar e soltar a pasta do Windows Explorer na janela da solução Visual Studio.
fonte
No Visual Studio 2015, é assim que você faz.
Se você deseja incluir automaticamente todos os arquivos descendentes abaixo de uma pasta específica:
Isso pode ser restrito para incluir apenas arquivos no caminho especificado:
Ou mesmo apenas arquivos com uma extensão especificada:
Referência: http://jamesrpatterson.com/blog/automatic-include-in-project-for-visual-studio
fonte
Copiar e colar .
Para adicionar uma pasta, todos os subdiretórios e arquivos, também podemos copiar e colar. Por exemplo, podemos:
Clique com o botão direito do mouse no Windows Explorer na pasta e Copie na pasta com muitos arquivos e pastas.
Em seguida, no Visual Studio Solution Explorer, clique com o botão direito do mouse na pasta de destino e clique em Colar.
Adicionar opcional ao TFS; Em seguida, na pasta superior, clique com o botão direito do mouse e faça check-in no TFS para fazer check-in de todas as subpastas e arquivos.
fonte
Você pode usar um link simbólico. Isso faz com que a modificação do arquivo em um projeto o modifique no outro (como na verdade é o mesmo arquivo).
Para fazer isso:
Isso tem suas desvantagens e armadilhas, mas eu o uso ocasionalmente para bibliotecas duplicadas que precisam de nomes diferentes.
Editar para Anoop: etapas para adicionar ao Visual Studio:
Estes são os passos que eu sigo e trabalha para alguns projetos diferentes.
fonte
No Visual Studio 2017, você alterna entre o Solution View e o Folder View . Eu acho que essa é uma opção melhor, porque manterá a solução mais limpa. Eu uso isso para editar arquivos .gitignore, .md etc.
fonte
Para expandir a resposta de Yuchen , você pode incluir arquivos e caminhos como um link. Isso não é o mesmo que adicionar os itens existentes, porque não faz uma cópia extra na estrutura de pastas do seu projeto. É útil se você deseja que uma pasta / arquivo canônico etc seja usada em muitos lugares diferentes, mas deseja manter apenas uma versão / cópia dela.
Aqui está um exemplo do que você pode adicionar a um
*.csproj
arquivo para criar o link$(Codez)
é uma variável de ambiente do Windows que eu defini, você pode usar as variáveis de ambiente internas da mesma maneira.O último grupo de exemplos é um monte de arquivos de conteúdo que eu preciso na saída final. Consulte https://stackoverflow.com/a/11808911/492 e outras respostas e links para obter mais informações.
Mais informações sobre o MSBuild em https://msdn.microsoft.com/en-us/library/bb629388.aspx
fonte
Acho que encontrei uma maneira de fazer isso com o Compile Include = ". \ Code ***. Cs" O que eu queria era incluir código recursivamente na minha pasta Code.
Aqui está o exemplo do arquivo do projeto.
fonte
No Visual Studio 2013, não consegui que o "Incluir no Projeto" funcionasse ao clicar com o botão direito do mouse em uma pasta. O que funcionou foi expandir a pasta, selecionar todos os arquivos e escolher "Incluir no projeto". Foi muito entediante, pois você precisa fazer cada pasta uma por uma (mas pelo menos você pode fazer todos os arquivos de cada pasta de uma só vez), e parece armazenar o caminho do arquivo (você pode ver isso visualizando propriedades no arquivo e olhando para a opção "Caminho relativo".)
Espero usar isso para implantar alguns arquivos de dados em um projeto do Visual Studio Installer, e parece pegar os arquivos incluídos e preservar seus caminhos.
fonte
Pelo que sei, a única maneira de fazer isso no VS2010 é semelhante ao método de arrastar e soltar. Clique com o botão direito do mouse na solução à qual você deseja adicionar um projeto. O menu do aplicativo terá um item ... Ao abrir isso, você descobre que uma das opções é adicionar um projeto existente à solução.
Na caixa de diálogo exibida, navegue até a pasta que contém o arquivo de projeto da solução e selecione-o. O VS, como parte da importação desse arquivo de projeto, também importará o diretório inteiro e, presumo que todos os diretórios subordinados que fazem parte desse projeto.
Como isso requer um arquivo de projeto existente, não será impossível importar uma árvore de diretórios até que essa árvore tenha sido convertida em um projeto.
fonte
Não encontrei resposta para minha satisfação, então descobri a mim mesma.
Aqui está a resposta para você, se você deseja adicionar códigos-fonte externos ao seu projeto e não deseja copiar os códigos inteiros. Eu tenho muitas dependências em outros gits e eles são atualizados a cada hora, se não minuciosamente. Não consigo copiar todas as horas para sincronizar. Aqui está o que você precisa fazer.
Suponha que esta seja a estrutura:
/ root / projA / src
/ root / projA / inclui
/ root / projB / src
/ root / projB / inclui
/ root / yourProj / src
/ root / yourProj / includes
Faça o mesmo para projB. Agora, os projetos externos / existentes fora do seu estão presentes em sua solução / projeto. O VS irá compilá-los juntos. Aqui está um truque. Como o projA e o projB são pastas virtuais no seu projeto, o compilador pode não encontrar o projA / inclui.
Se não encontrar o projA / includes, clique com o botão direito do mouse no projeto e selecione "Propriedades".
Uma ressalva, se houver arquivos de inclusão / cabeçalho duplicados, a opção "excluir do projeto" no "arquivo de cabeçalho" não funcionará realmente. É um bug no VS.
fonte
O Visual Studio 2017 e mais recentes suportam um novo
.csproj
formato leve que passou a ser conhecido como "formato SDK". Uma das várias vantagens desse formato é que, em vez de conter uma lista de arquivos e pastas incluídos , os arquivos são curingas incluídos por padrão. Portanto, com este novo formato, seus arquivos e pastas - adicionados no Explorer ou na linha de comando - serão recuperados automaticamente!O
.csproj
arquivo de formato SDK atualmente trabalha com os seguintes tipos de projeto :Projetos de biblioteca de classes
Aplicativos de console
Aplicativos Web do ASP.NET Core
Projetos do .NET Core de qualquer tipo
Para usar o novo formato, crie um novo projeto .NET Core ou .NET Standard. Como os modelos não foram atualizados para o .NET Framework completo, mesmo no Visual Studio 2019, para criar uma biblioteca de classes .NET, escolha o modelo .NET Standard Library e edite o arquivo do projeto para direcionar a versão da estrutura de sua escolha ( o novo formato de projeto de estilo pode ser editado no Visual Studio - clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione "Editar arquivo de projeto"). Por exemplo:
Leitura adicional:
fonte