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

164
Vistas
advertencia de restauración de dotnet NU1701

Estoy usando .NET Core con C#, y cuando hice la dotnet restore , me dio el siguiente error:

PD C:\espacio de trabajo\Árbitro> restauración dotnet

C:\workspace\Arbitrator\Arbitrator.csproj: advertencia NU1701: el paquete 'PusherClient 0.5.0' se restauró usando '.NETFramework,Version=v4.6.1' en lugar del marco de destino del proyecto '.NETCoreApp,Version=v2.0'. Esto puede causar problemas de compatibilidad. C:\workspace\Arbitrator\Arbitrator.csproj: advertencia NU1701: el paquete 'WebSocket4Net 0.14.1' se restauró usando '.NETFramework,Version=v4.6.1' en lugar del marco de destino del proyecto '.NETCoreApp,Version=v2.0'. Esto puede causar problemas de compatibilidad.

Este paquete en problema es PusherClient . Acabo de seguir los documentos de NuGet para importarlo. ¿Cómo puedo solucionar esta advertencia?

over 4 years ago · Santiago Trujillo
4 Respuestas
Responde la pregunta

0

Como señaló Yair, hay una cuestión abierta sobre este tema en GitHub: github.com/NuGet/Home/issues/5740 .

Cuando la dependencia que se resuelve con una versión alternativa del marco es transitiva, la supresión de la advertencia para el paquete al que se hace referencia no funcionará.

Por ejemplo, Microsoft.TeamFoundationServer.ExtendedClient depende de Microsoft.AspNet.WebApi.Core, que no es compatible con .NET Core 3.0, lo que genera la advertencia. Agregar NoWarn a Microsoft.TeamFoundationServer.ExtendedClient no funcionará.

Como solución alternativa (puede ver mi publicación aquí: Solución alternativa en el problema de GitHub ), puede hacer referencia directamente a la dependencia transitiva y usar NoWarn contra ese paquete.

 <ItemGroup> <PackageReference Include="Microsoft.AspNet.WebApi.Core" Version="5.2.3" NoWarn="NU1701" /> <PackageReference Include="Microsoft.TeamFoundationServer.ExtendedClient" Version="16.153.0"/> </ItemGroup>
over 4 years ago · Santiago Trujillo Denunciar

0

Para .NET Core 1.x:

Debe decirle a los muchachos de PusherClient que preparen su proyecto para .NET-Core.

over 4 years ago · Santiago Trujillo Denunciar

0

No necesariamente tiene que esperar hasta que PusherClient se actualice para .NET Core.

Hacer referencia a .NET Framework 4.6.1 (y versiones anteriores) de .NET Core es una nueva función disponible desde .NET Core/Standard 2.0 preview 2 / VS 2017 preview 15.3 y, según MS, se puede considerar como una función que ayuda migra el código de .NET Framework a .NET Standard o .NET Core con el tiempo .

  1. Puedes simplemente suprimir esta advertencia

    • para un paquete específico
     <PackageReference Include="Contoso.Base.API" Version="1.0.3"> <NoWarn>NU1701</NoWarn> </PackageReference>
    • para todos los paquetes
     <NoWarn>NU1701</NoWarn>

    Consulte los escenarios 2 y 3 en la wiki de NuGet para conocer las formas de hacerlo desde la GUI .

    Sin embargo, es posible que su aplicación falle en tiempo de ejecución cuando llama a una API (como algo de WPF) que no es compatible con .NET Core. Otra razón de una falla podría ser las API nativas posiblemente utilizadas por PusherClient . Así que deberías probarlo extensamente. Pero en la mayoría de los casos, solo funcionará en todas las plataformas donde se admita .NET Core (por ejemplo, probé una aplicación con dependencia de MathNet.Numerics y funcionó en Linux a pesar de que MathNet.Numerics también es .NET Framework 4.6.1 ).

  2. Si no necesita que su aplicación sea multiplataforma, simplemente cambie su marco de destino a .NET 4.6.1 agregando lo siguiente a su archivo csproj:

     <TargetFramework>net461</TargetFramework>
over 4 years ago · Santiago Trujillo Denunciar

0

Como nota al margen, no hagas esto:

 <PropertyGroup> <NoWarn>NU1701</NoWarn> </PropertyGroup>

Hacer eso romperá cualquier otra configuración de NoWarn que se recoja en otro lugar, como desde un archivo directory.build.prop. En su lugar, haz esto:

 <PropertyGroup> <NoWarn>$(NoWarn);NU1701</NoWarn> </PropertyGroup>

De esa manera, se conservan las configuraciones globales.

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