Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Normalmente, los desarrolladores omiten los paquetes NuGet de sus repositorios de control de código fuente y se basan en la restauración de paquetes para volver a instalar las dependencias de un proyecto antes de una compilación.
Entre las razones para confiar en la restauración de paquetes se incluyen las siguientes:
- Los sistemas de control de versiones distribuidos, como Git, incluyen copias completas de cada versión de cada archivo del repositorio. Los archivos binarios que se actualizan con frecuencia conducen a un sobredimensionamiento significativo y extienden el tiempo necesario para clonar el repositorio.
- Cuando los paquetes se incluyen en el repositorio, los desarrolladores pueden agregar referencias directamente al contenido del paquete en el disco en lugar de hacer referencia a paquetes a través de NuGet, lo que puede dar lugar a nombres de ruta de acceso codificados de forma rígida en el proyecto.
- Resulta más difícil limpiar la solución de cualquier carpeta de paquetes no utilizadas, ya que usted necesita asegurarse de que no elimine las carpetas de paquetes que todavía están en uso.
- Al omitir paquetes, se mantienen límites limpios de propiedad entre el código y los paquetes de otros de los que dependes. Muchos paquetes NuGet ya se mantienen en sus propios repositorios de control de código fuente.
Aunque la restauración de paquetes es el comportamiento predeterminado con NuGet, es necesario realizar algún trabajo manual para omitir paquetes (es decir, la packages carpeta del proyecto) desde el control de código fuente, como se describe en este artículo.
Omisión de paquetes con Git
Use el archivo .gitignore para omitir paquetes NuGet (.nupkg) la packages carpeta y project.assets.json, entre otras cosas. Para obtener referencia, consulte el ejemplo .gitignore de proyectos de Visual Studio:
Las partes importantes del .gitignore archivo son:
# 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
Omitir paquetes con control de versiones de Team Foundation
Nota:
Siga estas instrucciones si es posible antes de agregar el proyecto al control de código fuente. De lo contrario, elimine manualmente la packages carpeta del repositorio y compruebe ese cambio antes de continuar.
Para deshabilitar la integración del control de código fuente con TFVC para los archivos seleccionados:
Cree una carpeta denominada
.nugeten la carpeta de la solución (donde está el.slnarchivo).- Sugerencia: en Windows, para crear esta carpeta en el Explorador de Windows, use el nombre
.nuget.con el punto final.
- Sugerencia: en Windows, para crear esta carpeta en el Explorador de Windows, use el nombre
En esa carpeta, cree un archivo denominado
NuGet.Configy ábralo para su edición.Agregue el texto siguiente como mínimo, donde la configuración disableSourceControlIntegration indica a Visual Studio que omita todo en la
packagescarpeta:<?xml version="1.0" encoding="utf-8"?> <configuration> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> </configuration>Si está usando TFS 2010 o versiones anteriores, oculte la carpeta
packagesen las asignaciones del área de trabajo.En TFS 2012 o posterior, o con Visual Studio Team Services, cree un
.tfignorearchivo como se describe en Agregar archivos al servidor. En ese archivo, incluya el contenido siguiente para omitir explícitamente las modificaciones en la\packagescarpeta en el nivel de repositorio y otros archivos intermedios. (Puede crear el archivo en el Explorador de Windows con el nombre a.tfignore.con el punto final, pero es posible que tenga que deshabilitar primero la opción "Ocultar extensiones de archivo conocidas".):# 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.propsAgregue
NuGet.Configy.tfignoreal control de código fuente y compruebe los cambios.