.net - through - nuget visual studio
.Net Core y NuGet (3)
Estoy trabajando con .Net Core 2.xy , creo, NuGet 4.x. Ubicaciones de paquetes encontrados aquí:
C: / Archivos de programa (x86) / SDK de Microsoft / NuGetPackages /
Instalé .net core desde este sitio . Jugar con él condujo a una serie de preguntas relacionadas con la gestión de paquetes:
-
El comando de
dotnet restore
procedió a "instalar" .net core NuGet paquetes. ¿Dónde se "instalaron" esos paquetes? No se creó una nueva carpeta. -
La
dotnet restore
para el ejemplo mínimo "hello world" requirió alrededor de un centenar de paquetes NuGet, donde el 99% eran presumiblemente irrelevantes para la aplicación "hello world". Por supuesto, una compilación nativa de .net eliminará todo lo que no sea necesario, pero esperaba que larestore
también hubiera ocupado muy poco (tres o cuatro paquetes, no cien). ¿Por qué este comportamiento? -
Creé un segundo proyecto "hello world" y
dotnet restore
ejecutardotnet restore
. Esta vez no se instalaron paquetes en absoluto. Parece que todos los paquetes instalados la primera vez fueron a alguna ubicación global para ser compartidos. Pensé que .Net Core no funcionaba de esa manera. Pensé que los proyectos .Net Core mantenían todas sus dependencias localmente. El único marco al quednxcore50
fuednxcore50
. ¿Por qué este comportamiento? - Me gustaría "desinstalar" todos estos paquetes globales y volver a intentarlo (solo con fines de aprendizaje). ¿Cómo podría lograrse eso? Recuerde, como se indicó en la pregunta 1, no sé dónde se instalaron todos esos archivos.
-
Casi todos los paquetes instalados a través del comando de
restore
se enumeraron como beta. Impar. Pensé que .Net Core estaba en RC1, no beta. Confundido por esto. ¿Por qué este comportamiento?
También tengo curiosidad por saber qué documentación podría / me habría explicado todo esto. Traté de buscar en Google para cada una de estas preguntas, y no encontré nada (¿tal vez solo horrible google-fu?).
Me acabo de enterar de que hay otra ubicación para los paquetes NuGet utilizados en los proyectos principales de .NET. Está ubicado en:
C:/Users/[User]/.nuget/packages
Creo que esta ubicación contiene paquetes regulares de .NET Framework.
Actualización: Gracias a brappleye3, aquí hay un link a la documentación sobre la restauración dotnet.
Actualizar:
- Los paquetes nuget se instalan en una ubicación global. Por defecto solía ser .. / Users / [YourUserFolder] /. Dnx / packages pero parecía haber cambiado a .. / Users / [YourUserFolder] /. Nuget / packages
En NuGet 3+, puede usar el siguiente comando de la CLI de NuGet para obtener la ubicación de la carpeta de paquetes globales
nuget locals global-packages -list
Consulte los siguientes enlaces para obtener más detalles sobre NuGet
-
https://docs.nuget.org/ndocs/consume-packages/configuring-nuget-behavior
-
https://docs.nuget.org/ndocs/tools/nuget.exe-cli-reference#locals
-
La plantilla predeterminada de ASP.Net tiene tantos paquetes. Desde que lo intentó por primera vez, intentó obtener todos esos cientos de paquetes
-
Ya tenía esos paquetes en sus ubicaciones globales nuget, omitió la restauración.
-
Eliminar todo el contenido de la carpeta de paquetes (ubicación indicada en 1)
-
Algunos de los paquetes beta están ahí. Puede ir al archivo project.json (disponible en la raíz web) y jugar con la sección de dependencias.