license from tfs nuget

from - Obtener TFS para ignorar la carpeta de mis paquetes



use packages from this vsts tfs feed (12)

¡Puedes establecerlo de forma permanente en tu AppData/Roaming para todas las soluciones (antiguas y nuevas)!

En su archivo %AppData%/NuGet/NuGet.Config , agregue lo siguiente justo antes de la etiqueta XML </configuration> ...

<config> <add key="repositoryPath" value="C:/NuGetPackages" /> </config> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution>

... puede especificar la ruta que desee, lo importante es ponerlo FUERA de su área de trabajo de TFS.

Ahora nunca tendrás que preocuparte por esas cosas otra vez. Su carpeta de soluciones ya no contendrá ningún paquete; en su lugar, todas las soluciones utilizarán de forma predeterminada la ubicación de sus paquetes personalizados

NOTA - Esto funciona por usuario.

Estoy intentando que TFS (2013) ignore la carpeta de mis packages . Apasionadamente no quiero que se controle la fuente ya que estoy usando NuGet y ¡es genial!

He intentado encubrir (no parece funcionar), he intentado agregar archivos .tfignore ; nada se ignora. ¿Por qué el equipo de TFS no agrega una opción para ignorar permanentemente una carpeta o un archivo como hacen muchos de los clientes de Subversion?


Agregue un archivo nuget.config en una carpeta .nuget en su solución. Agregue lo siguiente al archivo nuget.config:

<?xml version="1.0" encoding="utf-8"?> <configuration> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> </configuration>

La inhabilitaciónIntrolControlIntegración es lo que hace el truco para el Control de versión de TFS.


Aquí está el trato: tenemos que decirle a NuGet y a TFS que ignoren los paquetes, porque NuGet está tratando de hacer cosas relacionadas con el control de la fuente que no debería estar haciendo (¡mala forma, Microsoft!). Así que tienes que hacer dos cosas.

Primero, agregue un archivo llamado .tfignore a la carpeta de la solución (note la falta de s después de la tf ). Su contenido debe ser el siguiente:

/packages

Eso le dice a TFS que ignore su carpeta de paquetes. Ahora, usted pensaría que esto también ignoraría el archivo repositories.config . Pero no lo hará. ¿Por qué? Quién sabe, los caminos de Microsoft son extraños y misteriosos. En realidad, creo que es parte de las cosas de NuGet que describo a continuación, pero si alguna vez se soluciona en el futuro y desea mantener el archivo repositories.config lugar de dejar que VS lo regenere, debería poder usar esto:

/packages !/packages/repositories.config

Bien, ahora gracias a nuestro archivo .tfignore , TFS está ignorando sus paquetes. Todo está bien, ¿verdad? INCORRECTO , porque NuGet está perdiendo el control de su fuente y agregando los paquetes a sus cambios pendientes. Así que ahora vamos a decirle a NuGet que ya lo elimine.

Cree una carpeta llamada .nuget en la raíz de la carpeta de su solución. 1 Ahora, cree un archivo llamado NuGet.config y NuGet.config en esta nueva carpeta 2 . Su contenido debe verse así:

<?xml version="1.0" encoding="utf-8"?> <configuration> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> </configuration>

Y ahora sus paquetes deben permanecer fuera del control de código fuente. Solo recuerde agregar los archivos NuGet.config y .tfignore al control de origen para que nunca se pierdan.

EDITAR: Si tiene problemas, puede eliminar su carpeta de paquetes, registrar ese cambio y luego seguir los pasos anteriores.

TAMBIÉN EDITAR: Parece que esto no sucederá con las nuevas versiones de Nuget. Entonces, tal vez si cambia a VS / TFS 2017, este problema se solucionará sin saltar a través de los aros anteriores.

1 . Agregue la carpeta usando Source Control Explorer; haga clic derecho en la solución-> Agregar carpeta -> .nuget
2 . Cuando descubrí esto utilizando VS 2013, encontré que NuGet.config tenía que ir a la carpeta .nuget. Incluso si ya tiene un archivo NuGet.config en la raíz de la carpeta de su solución (porque, por ejemplo, su empresa tiene un feed interno de nuget). Sin embargo, algunos en los comentarios han indicado que funciona bien en la raíz de la solución en VS 2015. Personalmente, cambié a usar TFS en el modo git, por lo que no puedo probar. Además, si tiene un feed personalizado, asegúrese de tener tanto el feed personalizado como nuget.org como claves en el archivo Nuget.config, o en ocasiones TFS decidirá aleatoriamente que no puede restaurar los paquetes.


Configure su solución para restaurar en la compilación, la carpeta del paquete y el archivo de paquetes se registrarán, pero los paquetes no.


Esto no funcionó para mí en Visual Studio Online y VS2013.

  • Haga clic con el botón derecho en Solución> Habilitar restauración de paquetes NuGet. Esto agregará el archivo Nuget.config a la solución
  • Añadir el .tfignore. Normalmente hago esto agregando un archivo de texto a la raíz de la solución, dejándolo detectar y luego excluir haciendo clic en ''detectar detectado''> clic derecho ignorar.
  • Agregue los paquetes a .tfignore y dígale que incluya repositorios.config

De los otros comentarios, parece que su kilometraje puede variar en este punto. Esto es lo que hago:

  • Comprueba todo, incluyendo cualquier paquete.

  • Elimine todos los paquetes en su solución y luego ingrese este cambio (esto eliminará los paquetes de TFS)

  • Abra la solución y genere lo que agregará los paquetes al proyecto, pero TFS no los recogerá.


La answer de Terje no funciona todo el tiempo para mí, a veces funcionará por un tiempo, pero luego colgará una cantidad de "agregados" para mí de nuevo.

La única forma que encontré para resolver esto de forma permanente es ocultando la carpeta de paquetes en mi área de trabajo.

Por ejemplo:

Type Server Local ============================================ Active $/Work/Main C:/Code/Main Cloaked $/Work/Main/Packages


La solución que funcionó para mí fue crear un .tfignore y la siguiente configuración en el Nuget.Config:

<configuration> ... <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> ... </configuration>

Mi .tfignore contiene esta línea:

/packages

[Estoy usando la actualización 2 de Visual Studio 2015]

Esto no es ideal, y actualmente se registra como un problema abierto en github / nuget:

Facilita la omisión de paquetes de TFVC # 493


Necesitas estar usando espacios de trabajo locales para que funcione .tfignore . El archivo .tfignore debe estar en la carpeta que contiene los archivos o carpetas que desea ignorar.

Entonces, si la estructura de tu solución se ve así:

/Project /Packages /OtherStuff foo.cs

Pusiste tu archivo .tfignore en / Proyecto:

/Project /Packages /OtherStuff foo.cs .tfignore

El contenido del .tfignore en su caso sería:

/packages

Aquí hay algo de documentación para usted: http://msdn.microsoft.com/library/vstudio/ms245454(v=vs.110).aspx#tfignore


Para las personas que informaron que la opción .tfignore no estaba funcionando con la configuración nuget.config, podría ser interesante, estos pasos finalmente funcionaron para mí:

  1. Eliminar todo en mi carpeta de paquetes
  2. Asegúrate de que TFS no tenga ningún cambio en esa carpeta pendiente
  3. Cerrar VS
  4. Vuelva a abrir VS y vuelva a cargar la solución: utilice la restauración de Nuget para volver a llenar los paquetes. Nota: no hay cambios pendientes para el control de fuente TFS

Si está utilizando Git con TFS, debe agregar un archivo ".gitignore". Puede hacer esto en "proyecto de equipo | Configuración | ''agregar archivo ignorar''". A continuación, abra el archivo y elimine el comentario de la instrucción ignore incorporada para los paquetes Nuget.

Si está utilizando TFVC y tiene espacios de trabajo locales configurados, puede usar el archivo ".tfignore" que respeta un formato idéntico al archivo Git. Creo que necesitas "paquetes /".


Tuve el mismo problema. /packages deberían funcionar pero no para mí. packages*.* funcionó


Una solución alternativa a la anterior es la siguiente.

  • Agregue la carpeta de paquetes a TFS (sin archivos o subcarpetas)
  • Haga clic derecho en la carpeta de paquetes
  • Clic izquierdo avanzado
  • Haga clic en Capa

Vale la pena señalar que esta solución debería aplicarse por área de trabajo de TFS. Ha funcionado de manera mucho más confiable para mí en lugar de usar el archivo .tfignore .

Puede leer más sobre este enfoque en el artículo del blog Evitar que TFS agregue paquetes NuGet instalados al control de origen .