2. Sé amable, porque toda persona que conoces
está librando una gran batalla
3. Objetivo
1. Adquirir los conceptos
básicos relacionados con
Visual Studio
2. Reconocer las
características de Visual
Studio
● 4.1 Administración de Librerías
Contenido
5. Una introducción a NuGet
Una herramienta esencial para cualquier plataforma de desarrollo
moderno, es un mecanismo a través del cual los desarrolladores
pueden crear, compartir y consumir código útil. A menudo, este código
se integra en "paquetes" que contienen código compilado (como
archivos DLL) y otro contenido necesario en los proyectos que utilizan
estos paquetes.
En .NET (incluido .NET Core), el mecanismo compatible con Microsoft
para compartir código es NuGet, que define cómo se crean, hospedan y
consumen paquetes en .NET, y ofrece las herramientas para cada uno
de esos roles.
6. Una introducción a NuGet
Desde un punto de vista sencillo, un paquete NuGet es un archivo ZIP
con la extensión .nupkg que contiene código compilado (archivos DLL),
otros archivos relacionados con ese código y un manifiesto descriptivo
que incluye información como el número de versión del paquete. Los
programadores con código para compartir crean paquetes y los
publican en un host público o privado. Los consumidores de paquetes
obtienen esos paquetes de los hosts adecuados, los agregan a sus
proyectos y, después, llaman a la funcionalidad de un paquete en el
código del proyecto. Después, el propio NuGet controla todos los
detalles intermedios.
7. El flujo de paquetes entre
creadores, hosts y consumidores
En su rol de host público, NuGet mantiene el repositorio central de más
de 100 000 paquetes únicos en nuget.org. Millones de desarrolladores
de .NET/.NET Core usan estos paquetes a diario. NuGet también
permite hospedar paquetes de forma privada en la nube (como en
Azure DevOps), en una red privada o incluso en el sistema de archivos
local. Así, los paquetes solo están a disposición de los desarrolladores
que tengan acceso al host, lo que le ofrece la posibilidad de poner
paquetes a disposición de un grupo determinado de consumidores. Las
opciones se explican en Hospedar sus propias fuentes de NuGet.
8. El flujo de paquetes entre
creadores, hosts y consumidores
9. Compatibilidad de destino de
paquetes
Un paquete "compatible" implica que contiene ensamblados compilados
para al menos una plataforma .NET de destino que es compatible con
la plataforma de destino del proyecto de consumo. Los desarrolladores
pueden crear paquetes que son específicos de una plataforma, como
ocurre con los controles UWP, o pueden admitir una gama más amplia
de destinos. Para maximizar la compatibilidad de un paquete, los
desarrolladores lo destinan a .NET Standard, que todos los proyectos
de .NET y .NET Core pueden consumir.
10. Herramientas de NuGet
Además de la compatibilidad con el hospedaje, NuGet también
proporciona una variedad de herramientas que usan tanto creadores
como consumidores. Vea Instalación de las herramientas del cliente
NuGet para saber cómo obtener herramientas específicas
14. Administración de dependencias
La posibilidad de basarse en el trabajo de otros usuarios fácilmente es
una de las características más eficaces de un sistema de
administración de paquetes. En consecuencia, gran parte de lo que
hace NuGet consiste en administrar ese "gráfico" o árbol de
dependencias en nombre de un proyecto. Dicho simplemente, solo se
tiene que preocupar por los paquetes que use directamente en un
proyecto. Si alguno de esos paquetes consume otros paquetes (que, a
su vez, pueden consumir otros), NuGet se encarga de todas esas
dependencias de nivel inferior.
16. Seguimiento de referencias y
restauración de paquetes
Dado que los proyectos se pueden mover fácilmente entre equipos de
desarrolladores, repositorios de control de código fuente, servidores de
compilación, etc., no resulta práctico mantener los ensamblados
binarios de los paquetes NuGet enlazados directamente a un proyecto.
De hacerlo, se produciría un sobredimensionamiento innecesario de
cada copia del proyecto (y, por tanto, se desperdiciaría espacio en los
repositorios de control de código fuente). Además, sería muy difícil
actualizar los archivos binarios del paquete a versiones más recientes,
ya que habría que aplicar las actualizaciones en todas las copias del
proyecto.
18. Seguimiento de referencias y
restauración de paquetes
De forma similar, cuando los desarrolladores obtienen una copia de un
proyecto (como al clonar un repositorio), pueden invocar un comando
como nuget restore (CLI de NuGet), dotnet restore (CLI de dotnet), o
Install-Package (consola del Administrador de paquetes) para obtener
todos los paquetes necesarios. Visual Studio, por su parte, restaura
automáticamente los paquetes al compilar un proyecto (siempre que la
restauración automática esté habilitada, tal y como se describe en
Restauración de paquetes).