Instalar un paquete Nuget en Visual Studio Code

192

¿Cómo puedo instalar un paquete Nuget en Visual Studio Code? Sé que en Visual Studio, podemos hacer esto a través de la consola de Nuget Package Manager, pero ¿cómo lo hago en VS Code?

Gyan Parkash
fuente
¿Has probado esta extensión: marketplace.visualstudio.com/…? Alternativamente, puedes descargar nuget de su sitio web y usarlo desde la consola.
JNK
preferiría la consola porque la extensión no tiene buenas críticas
Gyan Parkash
La forma en que lo hago es usar nuget.org, buscar y simplemente usar PackageReference (ubicado con las otras opciones de instalación). Funciona bastante bien, y obtienes una buena interfaz de usuario para el nuget.
mslot

Respuestas:

225

Desde la línea de comando o la ventana de Terminal en el editor de código vs dotnet add package Newtonsoft.Json

Ver este artículo de Scott Hanselman

Jeff Albrecht
fuente
2
Tenga en cuenta que esto solo funcionará en el nuevo .Net Core SDK 1.0 basado en csproj, pero no en las versiones anteriores de vista previa basadas en project.json.
svick
2
Desafortunadamente, eso no es compatible con la búsqueda o el autocompletado. Es decir, debe saber la ortografía exacta del nombre del paquete.
Andrew Savinykh
44
Puede ir a nuget.org para buscar paquetes como lo haría en Visual Studio, luego use la línea de comandos para instalar el paquete que desee.
MikeBeaton
76

Puede usar la extensión NuGet Package Manager .

Después de instalarlo, para agregar un paquete, presione Ctrl + Shift + P, escriba >nugety presione Entrar:

ingrese la descripción de la imagen aquí

Escriba una parte del nombre de su paquete como cadena de búsqueda:

ingrese la descripción de la imagen aquí

Elige el paquete:

ingrese la descripción de la imagen aquí

Y finalmente, la versión del paquete (probablemente quieras la más nueva):

ingrese la descripción de la imagen aquí

sashoalm
fuente
2
Parece que esta extensión no es compatible con la nueva función de espacios de trabajo
Chris Alexander
1
Esta extensión parece estar de vuelta en el mercado, solo la instalé y funciona bien para mí.
Referencia nula el
3
22 de junio de 2019: " Esta extensión ya no está publicada en Marketplace. Puede optar por desinstalarla " . 2 ¢.
ruffin
El enlace proporcionado arriba apunta a ".Net Core Project Manager (Nuget)" - intente: marketplace.visualstudio.com/…
samis
29

Puede hacerlo fácilmente usando "vscode-nuget-package-manager". Vaya al mercado e instale esto. Después de esto

1) Presione Ctrl + P o Ctrl + Shift + P (y omita 2)

2) Escriba ">"

3) Luego seleccione "Administrador de paquetes Nuget: Agregar paquete"

4) Ingrese el nombre del paquete Ej: Dapper

5) seleccione el nombre y la versión del paquete

6) Hecho.

Roshan Perera
fuente
24

Abra el menú de extensiones (Ctrl + Shift + X) y busque .NuGet Package Manager.

Eugeniu Znagovan
fuente
Extraño este administrador no puede encontrar Microsoft.AspNetCore.Server.Kestrel. Debajo de la solución funciona.
Aleksey Kontsevich
Ya no funciona desde la migración al formato de archivo .csproj.
Según Lundberg,
No puedo ver esa extensión cuando la busco.
Davos
13

Ejemplo para archivo .csproj

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="1.1.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.2" />
    <PackageReference Include="MySql.Data.EntityFrameworkCore" Version="7.0.7-m61" />
  </ItemGroup>

Simplemente obtenga el nombre del paquete y el número de versión de NuGet y agréguelo a .csproj y luego guárdelo. Se le pedirá que ejecute la restauración que importará nuevos paquetes.

Chris Cavell
fuente
9
Estoy seguro de que esto funciona, pero tener que editar el XML manualmente parece una pena.
Davos
1
Es cierto, pero VS Code es gratuito (y realmente se entiende como un editor), así que no me quejo. Sería diferente si tuviera que hacer esto en VS.
Chris Cavell
1
Punto justo. Entonces, ¿está editando proyectos de C # completamente en VSCode sin ninguna versión de Visual Studio instalada? ¿O crear el proyecto en Visual Studio (con archivos sln + csproj) y luego usar VSCode como editor? Supongo que si solo usa dotnety VSCode, ¿por qué necesitaría incluso esos archivos de proyecto?
Davos
1
No, en realidad utilizo Visual Studio 2010 y 2015. Sin embargo, prefiero 2010. Toda mi codificación real también se almacena en repositorios Git. VS Code es más para jugar en mi sistema Ubuntu.
Chris Cavell
8

Nuget Galleryproporciona una GUI similar a la de Visual Studio completo. Vea abajo.

ingrese la descripción de la imagen aquí

Cómo utilizar:

  1. Instalar Nuget Gallerydesde el mercado de extensión.
  2. Inicie desde la barra de menú View > Command Paletteo ⇧⌘P (Ctrl + Shift + P en Windows y Linux). Tipo Nuget: Open Gallery.
  3. Se muestra la GUI anterior. Puede filtrar como en Visual Studio normal.
  4. Asegúrese de que la .csproj filecasilla de verificación esté seleccionada, seleccione la versión del menú desplegable y haga clic en el botón instalar.

ACTUALIZAR

Las versiones anteriores, como se señaló en los comentarios, tenían un problema en el que la .csprojcasilla de verificación no estaba visible cuando un paquete en el archivo csproj no tenía un número de versión como el siguiente.

<PackageReference Include="Microsoft.AspNetCore.App" />

Esto se ha solucionado en las versiones más recientes de la extensión, por lo que si tiene una versión anterior con este problema, actualícela a la última versión.

Moses Machua
fuente
Ahh, esto es interesante. No hay .csprojopción de marca de archivo en la versión actual. Tal vez ese es mi problema. github.com/pcislo/vscode-nuget-gallery/issues/15
woter324
Hola @ woter324, el problema de la casilla de verificación que no se muestra se identificó como algunos paquetes en los que .csprojno hay números de versión. Ver comentario del problema . He actualizado mi respuesta para incluir eso.
Moisés Machua
¡Gracias! ¡Eso era justo lo que necesitaba para poder instalar el paquete Microsoft.Windows.Compatibility! ¡Esta galería de Nuget realmente funciona con .NET Core 3.1.2! ¡Entonces ahora puedo usar OleDbConnection para abrir una conexión a una base de datos de MS Access, mientras uso .NET Core para las otras cosas en Visual Studio Code! ¡Frio!
John Foll
He probado la última versión y ya no tiene un problema con los números de versión faltantes
Moses Machua
6
  1. Instale el Administrador de paquetes NuGet
  2. Ctrl+Shift+Pen Windows o Command+Shift+Pen Mac
  3. Buscar NuGet Package Manager: Agregar paquete
  4. Ingrese el nombre del paquete, es decir, AutoMapper
  5. Seleccione paquete y versión
  6. Restaurar si es necesario
Ryan Efendy
fuente
1

Modifique su archivo project.json o * .csproj. Agregue una entrada de dependencia con el nombre del paquete y la versión deseada.

Ejemplo de JSON:

{
   "dependencies" : {

     "AutoMapper": "5.2.0"
   }
}
Mauricio Avilés
fuente
1

Las respuestas anteriores son buenas, pero insuficientes si tiene más de 1 proyecto (.csproj) en la misma carpeta.

Primero, puede agregar fácilmente la etiqueta "PackageReference" al archivo .csproj (ya sea manualmente, usando el administrador de paquetes nuget o usando el comando de agregar paquete dotnet).

Pero luego, debe ejecutar el comando "restaurar" manualmente para poder decirle qué proyecto está tratando de restaurar (si acabo de hacer clic en el botón de restauración que apareció, no pasó nada). Puede hacerlo ejecutando:

dotnet restore Project-File-Name.csproj

Y eso instala el paquete

gool
fuente