Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

170
Views
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 answers
Answer question

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 Report

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!