Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1K
Vistas
Error NU1605 Paquete degradado detectado

Estoy experimentando los siguientes errores de dependencia NU1605 en mi aplicación de consola netcoreapp2.0 :

 NU1605 Detected package downgrade: System.Diagnostics.Debug from 4.3.0 to 4.0.11. Reference the package directly from the project to select a different version. MyProject -> Colorful.Console 1.2.6 -> System.IO.FileSystem 4.0.1 -> runtime.win.System.IO.FileSystem 4.3.0 -> System.Diagnostics.Debug (>= 4.3.0) MyProject -> System.Diagnostics.Debug (>= 4.0.11) NU1605 Detected package downgrade: System.Runtime.Extensions from 4.3.0 to 4.1.0. Reference the package directly from the project to select a different version. MyProject -> Colorful.Console 1.2.6 -> System.IO.FileSystem 4.0.1 -> runtime.win.System.IO.FileSystem 4.3.0 -> System.Runtime.Extensions (>= 4.3.0) MyProject -> Colorful.Console 1.2.6 -> System.Runtime.Extensions (>= 4.1.0) MyProject NU1605 Detected package downgrade: System.Runtime.Handles from 4.3.0 to 4.0.1. Reference the package directly from the project to select a different version. MyProject -> Colorful.Console 1.2.6 -> System.IO.FileSystem 4.0.1 -> runtime.win.System.IO.FileSystem 4.3.0 -> System.Runtime.Handles (>= 4.3.0) MyProject -> Colorful.Console 1.2.6 -> System.IO.FileSystem 4.0.1 -> System.Runtime.Handles (>= 4.0.1) NU1605 Detected package downgrade: System.Runtime.InteropServices from 4.3.0 to 4.1.0. Reference the package directly from the project to select a different version. MyProject -> Colorful.Console 1.2.6 -> System.Console 4.0.0 -> runtime.win.System.Console 4.3.0 -> System.Runtime.InteropServices (>= 4.3.0) MyProject -> Colorful.Console 1.2.6 -> System.Runtime.InteropServices (>= 4.1.0)

He intentado hacer referencia a estas versiones de paquetes en csproj, pero esto no soluciona el problema. Ver csproj:

 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp2.0</TargetFramework> <RuntimeIdentifier>win10-x64</RuntimeIdentifier> </PropertyGroup> <ItemGroup> <PackageReference Include="Colorful.Console" Version="1.2.6" /> <PackageReference Include="CommandLineParser" Version="2.2.1" /> <PackageReference Include="DotSpinners" Version="1.2.0" /> <PackageReference Include="System.Diagnostics.Debug" Version="4.0.11" /> <PackageReference Include="System.Runtime.Extensions" Version="4.1.0" /> <PackageReference Include="System.Runtime.Handles" Version="4.0.1" /> <PackageReference Include="System.Runtime.InteropServices" Version="4.1.0" /> </ItemGroup> </Project>

Y parecen restaurarse bien:

Referencias de paquetes

El proyecto también hace referencia al SDK de Microsoft.NETCore.App 2.0 .

Al realizar la restauración de dotnet desde la CLI, también aparece el siguiente error, que no estoy seguro de que esté relacionado:

 C:\Program Files\dotnet\sdk\2.1.200\NuGet.targets(114,5): error : Failed to retrieve information about 'System.Runtime.Serialization.Formatters' from remote source 'https://mycompany.pkgs.visualstudio.com/_packaging/myid/nuget/v3/flat2/system.runtime.serialization.formatters/index.json'. [C:\MyProject\MyProject.sln] C:\Program Files\dotnet\sdk\2.1.200\NuGet.targets(114,5): error : Response status code does not indicate success: 401 (Unauthorized). [C:\MyProject\MyProject.sln]

No tengo idea de por qué está tratando de recuperar información sobre 'System.Runtime.Serialization.Formatters' del repositorio de paquetes de nuestra empresa privada.

NuGet.config:

 <?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> <add key="mycompany" value="https://mycompany.pkgs.visualstudio.com/_packaging/Stable/nuget/v3/index.json" /> </packageSources> <packageSourceCredentials> <mycompany> <add key="Username" value="vsts" /> <add key="ClearTextPassword" value="xxx" /> </mycompany> </packageSourceCredentials> <disabledPackageSources> <add key="Microsoft and .NET" value="true" /> </disabledPackageSources> <packageRestore> <add key="enabled" value="True" /> <add key="automatic" value="True" /> </packageRestore> <bindingRedirects> <add key="skip" value="False" /> </bindingRedirects> <packageManagement> <add key="format" value="0" /> <add key="disabled" value="False" /> </packageManagement> </configuration>

También tengo la siguiente advertencia NU1603 si esto significa algo:

 NU1603 MyProject depends on System.Runtime.Handles (>= 4.1.0) but System.Runtime.Handles 4.1.0 was not found. An approximate best match of System.Runtime.Handles 4.3.0 was resolved.
over 4 years ago · Santiago Trujillo
16 Respuestas
Responde la pregunta

0

Error NU1605 Paquete degradado detectado

Para el error NU1605 :

Puede usar <NoWarn>NU1605</NoWarn> para borrar las WarningsAsErrors como errores en su proyecto.

Eso porque los proyectos netcoreapp2.0 tienen <WarningsAsErrors>NU1605</WarningsAsErrors> de forma predeterminada. Verifíquelo desde Propiedades->Crear->Tratar advertencia como errores:

ingrese la descripción de la imagen aquí

Agregar como lo siguiente:

 <PackageReference Include="Colorful.Console" Version="1.2.6"> <NoWarn>NU1605</NoWarn> </PackageReference>

Consulte la publicación de blog aquí: Integración de MSBuild de advertencias y errores de NuGet y Advertencias de versión de paquete inesperada .

Para el error NU1603 :

La advertencia se produce porque System.Runtime.Handles (>= 4.1.0 ) no existe en el feed. Por lo general, se trata de un error de creación de paquetes porque el paquete depende de algo que no existe.

También puede usar <NoWarn>NU1603</NoWarn> para resolver este problema:

 <PropertyGroup> <NoWarn>NU1603</NoWarn> </PropertyGroup>

Nota: notará que su proyecto tiene otra advertencia, observe la insignia del triángulo amarillo en PackageReference DotSpinners en Reference. Eso porque el paquete DotSpinners es un proyecto de .NET Framework, no compatible con su proyecto .NET Core.

over 4 years ago · Santiago Trujillo Denunciar

0

Asegúrese de que está utilizando la misma versión para compilar y publicar; puede corregirlo agregando 2.1.9 en el archivo .csproj en PropertyGroup, esto debería coincidir con su versión de configuración actual. Ex:

 <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp2.1</TargetFramework> <RuntimeFrameworkVersion>2.1.9</RuntimeFrameworkVersion> </PropertyGroup>

El error que obtuve fue: NETSDK1061: el proyecto se restauró usando Microsoft.NETCore.App versión 2.1.9, pero con la configuración actual, se usaría la versión 2.1.0 en su lugar.

over 4 years ago · Santiago Trujillo Denunciar

0

Todo lo anterior no me ayudó con mi proyecto .NET Core 3.1.

El error NU1605 reapareció una y otra vez después de la recompilación completa. Todas las referencias al número de versión han sido correctas en el archivo csproj.

¡Lo que finalmente ayudó fue eliminar la carpeta obj !

Después la recopilación funcionó sin problemas.

over 4 years ago · Santiago Trujillo Denunciar

0

Tuve un problema similar, donde mi proyecto tenía una referencia de paquete como esta:

Referencias del paquete:

  • Paquete A
  • Paquete B
    • Paquete A

Entonces, debido a que el proyecto B hace referencia al paquete A, simplemente eliminé el paquete A de la lista de paquetes principales y me quedé con el Paquete B haciendo referencia al Paquete A. Reconstruí la solución y el problema desapareció.

over 4 years ago · Santiago Trujillo Denunciar

0

Ya hay un montón de respuestas a la pregunta, muchas de las cuales solucionan el problema, pero creo que la solución que apliqué es más limpia que todo lo que vi en línea.

Como se indicó, el sospechoso habitual del error en .Net Core 3.1 es algún ensamblado que depende de una biblioteca que requiere un ensamblado System.* o Microsoft.* .

Cuando se ejecuta la compilación, todo puede estar bien, porque la resolución de ensamblajes usa solo referencias de proyectos.
Cuando se realiza una compilación de "Publicar", con un tiempo de ejecución seleccionado, la resolución de los ensamblajes no sigue el algoritmo utilizado por Nuget al restaurar, por lo que aparece la Advertencia.

A partir de esta situación, sigue mi solución: cuando realizamos una compilación con un tiempo de ejecución de destino, queremos hacer cumplir que se seleccione la versión de tiempo de ejecución correcta.

En el archivo .csproj, agregué esto:

 <!-- adjust runtime and package version accordingly --> <ItemGroup Condition="'$(RuntimeIdentifier)' == 'win-x64' "> <PackageReference Include="Microsoft.NETCore.Targets" Version="3.1.0" /> </ItemGroup>

El paquete Microsoft.NETCore.Targets , que se encuentra en este enlace (que tiene mucha información sobre la advertencia) es una de las soluciones a la temida advertencia, y tenerlo incluido solo en la compilación de publicación mantiene intactas todas las demás compilaciones. Lo bueno de este paquete es que es un paquete e incluye todo el tiempo de ejecución.

over 4 years ago · Santiago Trujillo Denunciar

0

Acabo de tener el mismo problema (NU1605) con .Net core 3.1 y log4Net :

error NU1605: Degradación del paquete detectado: System.Net.NameResolution de 4.3.0 a 4.0.0.

Lo que hice fue agregar una referencia de Nuget a System.Net.NameResolution e instalar la versión 4.3.0, luego cerré Visual Studio y volví a abrir la Solución.

over 4 years ago · Santiago Trujillo Denunciar

0

No estoy seguro de si esta es la mejor opción o la forma de solucionar este problema, pero tuve el mismo problema:

Advertencia de NuGet NU1605 (paquete degradado)

Mi proceso de eliminación fue para asegurarme de que mi proyecto estaba: 1. Guardado 2. Build Solution (ctrl shift b) (el único error fue el NU1605) 3. Haga clic derecho en la carpeta del proyecto, haga clic en Administrar paquetes NuGet. 4. Haga clic en Actualizaciones, yo personalmente actualicé todos los paquetes. 5. (Paso 2 de nuevo).

Esto era todo lo que necesitaba hacer. Ojalá este fuera el mismo resultado.

over 4 years ago · Santiago Trujillo Denunciar

0

Enfrenté un problema similar (NU1605) al publicar, pero descubrí que era el tiempo de ejecución linux-x64 . Así que eliminé la opción de tiempo de ejecución y el problema desapareció.

over 4 years ago · Santiago Trujillo Denunciar

0

Tuve un problema similar con una aplicación de consola .netcoreapp2.2.

El proyecto se estaba construyendo con éxito. Sin embargo, la publicación fallaba con varios errores NU1605.

El problema se originó a partir de la versión 2.0.8 de log4net. Se hizo referencia en un proyecto .netstandard2.0 con las siguientes dependencias:

log4net v2.0.8 no incluye una dependencia específica para .NetStandard,Version=2.0

Estaban provocando degradaciones de paquetes en los proyectos que hacían referencia a log4net. Y durante la publicación, estas advertencias se tratan como errores...

Para resolver el problema, agregué las versiones correctas de estas bibliotecas a través de Nuget.

dependencias de log4net y paquetes nuget adicionales para errores de versión

Finalmente, la publicación tuvo éxito.

PD : cuando agregué paquetes por primera vez con la versión más reciente de las bibliotecas, se mostró una señal de advertencia amarilla en la lista de dependencias como si los paquetes no fueran adecuados para ese proyecto. Después de descargar el proyecto y volver a cargar, ¡la señal de advertencia desapareció! (Estoy usando Visual Studio 2019)

over 4 years ago · Santiago Trujillo Denunciar

0

Tuve este problema con un proyecto .Net Core 2.2 usando una DLL .Net Standard 2.0 en la misma solución. Recibí los errores informados para la DLL estándar de .Net cuando agregué varios paquetes de SeriLog a la aplicación .Net Core. Retiré los cambios, luego agregué los paquetes SeriLog uno por uno, limpiando y reconstruyendo entre cada adición. Esta vez no hubo error...

over 4 years ago · Santiago Trujillo Denunciar

0

Algo con lo que me encontré que causa este error es tener varias referencias al mismo paquete en uno o más archivos .csproj. En nuestro caso, estas referencias son a dependencias locales en nuestro propio repositorio nuget.

Esto es invisible para un desarrollador en Visual Studio, por lo que debe abrir el archivo .csproj en un editor independiente.

Para mi equipo, creo que la causa es una combinación de mucha rotación tanto en una biblioteca dependiente como en la solución que consume esa dependencia. Por alguna razón, una combinación de git tomará ambas versiones en el archivo .csproj sin generar un conflicto. En varios archivos de proyecto, encontré 3 versiones de la misma dependencia.

over 4 years ago · Santiago Trujillo Denunciar

0

Tuve este problema al agregar una referencia de servicio conectado a un servicio web ASP.Net. Se agregó esta referencia en el proyecto Nop.Plugin.SDE, lo que provocó que se agregara una referencia a System.ServiceModel.Http 4.4.4, mientras que ya hacía referencia al proyecto Nop.Services con una referencia a System.ServiceModel.Http 4.7.0. La solución fue actualizar la referencia a System.ServiceModel.Http a la versión 4.7.0 del proyecto Nop.Plugin.SDE.

Explorador de soluciones después de agregar referencia

Actualice System.ServiceModel.Http de 4.4.4 a 4.7.0

Referencia a System.ServiceMode.Http de Nop.Services

over 4 years ago · Santiago Trujillo Denunciar

0

El paquete NuGet de GraphQL al que hacía referencia dependía de Newtonsoft.Json(>= 10.0.3) . La única solución fue la siguiente:

  • Quite el paquete NuGet de GraphQL.
  • Instale el último paquete NewtonSoft.Json v12.0.3
  • Regrese y reinstale el paquete NuGet de GraphQL.
over 4 years ago · Santiago Trujillo Denunciar

0

Me encontré con NU1605 con .NET 5 mientras intentaba actualizar un paquete Nuget.

La solución al Ejemplo 2 en este artículo funcionó perfectamente para mí.

En resumen, solo tenía que agregar

 <PackageReference Include="Microsoft.NETCore.Targets" Version="5.0.0" PrivateAssets="all" />

al ItemGroup del proyecto, que era el objetivo de la actualización (en VS, el .csproj relevante apareció cuando hice doble clic en el mensaje de error "Degradación del paquete detectado").

over 4 years ago · Santiago Trujillo Denunciar

0

Por alguna razón, la dotnet restore de dotnet trae advertencias de dependencia solo en RuntimeIdentifier: win10-x64 . el tiempo de ejecución portable funciona normalmente.

over 4 years ago · Santiago Trujillo Denunciar

0

Después de seguir todos los consejos anteriores y tomar como referencia la respuesta aceptada de @Mert, lo que funcionó para mí fue eliminar el paquete específico que estaba causando la inconsistencia .

ingrese la descripción de la imagen aquí

Dentro de la carpeta del paquete, Visual Studio marca muy útilmente el paquete que causa el problema con una señal de advertencia amarilla.

Eliminé el paquete y usé NuGet para instalar la versión adecuada del paquete.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda