visual studio - studio - ¿Cómo instalo un archivo.nupkg del paquete NuGet localmente?
nuggets visual (6)
Tengo algunos archivos .nupkg de un libro de C #. ¿Cómo puedo instalarlos?
Para Visual Studio 2017 y su nuevo formato .csproj.
Ya no puede usar Install-Package para apuntar a un archivo local. (Esto es probable porque el elemento PackageReference
no admite rutas de archivos; solo le permite especificar la identificación del paquete).
Primero debe decirle a Visual Studio la ubicación de su paquete, y luego puede agregarlo a un proyecto. Lo que la mayoría de la gente hace es ir al Administrador de paquetes NuGet y agregar la carpeta local como fuente (menú Herramientas → Opciones → Administrador de paquetes NuGet → Fuentes del paquete ). Pero eso significa que la ubicación de su dependencia no está comprometida (con el control de versiones) con el resto de su base de código.
Paquetes locales de NuGet usando una ruta relativa
Esto agregará un origen de paquete que solo se aplica a una solución específica, y puede usar rutas relativas.
nuget.config
crear un archivo nuget.config
en el mismo directorio que su archivo .sln
. Configure el archivo con la fuente del paquete que desee. La próxima vez que abra la solución en Visual Studio 2017, todos los archivos .nupkg de esas carpetas de origen estarán disponibles. (Verá las fuentes enumeradas en el Administrador de paquetes, y encontrará los paquetes en la pestaña "Examinar" cuando esté administrando paquetes para un proyecto).
Aquí hay un ejemplo de nuget.config
para comenzar:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="MyLocalSharedSource" value="../../../some/folder" />
</packageSources>
</configuration>
Historia de fondo
Mi caso de uso para esta funcionalidad es que tengo varias instancias de un repositorio de código único en mi máquina. Hay una biblioteca compartida dentro del código base que se publica / implementa como un archivo .nupkg. Este enfoque permite que las diversas soluciones dependientes a lo largo de nuestro código base utilicen el paquete dentro de la misma instancia del repositorio. Además, alguien con una instalación nueva de Visual Studio 2017 puede verificar el código donde lo desee, y las soluciones dependientes se restaurarán y construirán con éxito.
- Agregue los archivos a una carpeta llamada LocalPackages junto a su solución (no tiene que llamarse así, pero ajuste el xml en el siguiente paso según corresponda)
Cree un archivo llamado NuGet.config junto al archivo de su solución con el siguiente contenido
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="LocalPackages" value="./LocalPackages" /> </packageSources> <activePackageSource> <!-- this tells that all of them are active --> <add key="All" value="(Aggregate source)" /> </activePackageSource> </configuration>
Si la solución está abierta en Visual Studio, ciérrela y vuelva a abrirla.
Ahora sus paquetes deberían aparecer en el navegador, o ser instalables usando Install-Package
Para los archivos .nupkg que me gusta usar:
Install-Package C:/Path/To/Some/File.nupkg
Si tiene un archivo .nupkg y solo necesita el archivo .dll, todo lo que tiene que hacer es cambiar la extensión a .zip y buscar el directorio lib.
Menú Herramientas → Opciones → Administrador de paquetes
Dar un nombre y la ubicación de la carpeta. Haga clic en Aceptar. Suelte los archivos de su paquete NuGet en esa carpeta.
Vaya a su proyecto, haga clic con el botón derecho y seleccione "Administrar paquetes NuGet" y seleccione su nuevo origen de paquete.
Aquí está la documentation .
También puede usar la Consola del administrador de paquetes e invocar el cmdlet Install-Package
especificando la ruta al directorio que contiene el archivo del paquete en el parámetro -Source
:
Install-Package SomePackage -Source C:/PathToThePackageDir/