Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os desenvolvedores normalmente omitem pacotes NuGet de seus repositórios de controle do código-fonte e dependem, em vez disso, da restauração do pacote para reinstalar as dependências de um projeto antes de um build.
Os motivos para depender da restauração do pacote incluem o seguinte:
- Sistemas de controle de versão distribuída, como o Git, incluem cópias completas de cada versão de cada arquivo dentro do repositório. Arquivos binários que são atualizados frequentemente levam a um crescimento exagerado e prolongam o tempo necessário para a clonagem do repositório.
- Quando os pacotes são incluídos no repositório, os desenvolvedores são responsáveis por adicionar referências diretamente ao conteúdo do pacote no disco, em vez de referenciar pacotes por meio do NuGet, o que pode levar a nomes de caminho embutidos em código no projeto.
- Torna-se mais difícil limpar sua solução dos diretórios de pacotes não utilizados, pois é necessário garantir que não exclua nenhum diretório de pacotes ainda em uso.
- Ao omitir pacotes, você mantém limites limpos de propriedade entre seu código e os pacotes de outros dos quais você depende. Muitos pacotes NuGet já são mantidos em seus próprios repositórios de controle do código-fonte.
Embora a restauração de pacote seja o comportamento padrão com o NuGet, algum trabalho manual é necessário para omitir pacotes, ou seja, a packages pasta em seu projeto, do controle do código-fonte, conforme descrito neste artigo.
Omitindo pacotes com o Git
Use o arquivo .gitignore para ignorar os pacotes NuGet (.nupkg) a packages pasta e project.assets.json, entre outras coisas. Para obter referência, consulte o exemplo .gitignore de projetos do Visual Studio:
As partes importantes do .gitignore arquivo são:
# Ignore NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Ignore other intermediate files that NuGet might create. project.lock.json is used in conjunction
# with project.json (NuGet v3); project.assets.json is used in conjunction with the PackageReference
# format (NuGet v4 and .NET Core).
project.lock.json
project.assets.json
Omitindo pacotes com o Controle de Versão do Team Foundation
Observação
Siga estas instruções, se possível , antes de adicionar seu projeto ao controle do código-fonte. Caso contrário, exclua manualmente a packages pasta do repositório e faça check-in dessa alteração antes de continuar.
Para desabilitar a integração do controle do código-fonte com o TFVC para arquivos selecionados:
Crie uma pasta chamada
.nugetna pasta da solução (onde o.slnarquivo está).- Dica: no Windows, para criar essa pasta no Windows Explorer, use o nome
.nuget.com o ponto à direita.
- Dica: no Windows, para criar essa pasta no Windows Explorer, use o nome
Nessa pasta, crie um arquivo nomeado
NuGet.Confige abra-o para edição.Adicione o seguinte texto pelo menos, onde a opção disableSourceControlIntegration instrui o Visual Studio a ignorar tudo na
packagespasta:<?xml version="1.0" encoding="utf-8"?> <configuration> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> </configuration>Se você estiver usando o TFS 2010 ou anterior, oculte a pasta
packagesnos mapeamentos da área de trabalho.No TFS 2012 ou posterior ou com o Visual Studio Team Services, crie um
.tfignorearquivo conforme descrito em Adicionar Arquivos ao Servidor. Nesse arquivo, inclua o conteúdo abaixo para ignorar explicitamente as modificações na\packagespasta no nível do repositório e alguns outros arquivos intermediários. (Você pode criar o arquivo no Windows Explorer usando o nome a.tfignore.com o ponto à direita, mas talvez seja necessário desabilitar a opção "Ocultar extensões de arquivo conhecidas" primeiro.):# Ignore NuGet Packages *.nupkg # Ignore the NuGet packages folder in the root of the repository. If needed, prefix 'packages' # with additional folder names if it's not in the same folder as .tfignore. packages # Omit temporary files project.lock.json project.assets.json *.nuget.propsAdicione
NuGet.Confige.tfignoreao controle do código-fonte e faça check-in de suas alterações.