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

302
Vistas
Actualización de referencias de paquetes en proyectos de objetivos múltiples

Estoy buscando usar objetivos múltiples para algunos proyectos comunes que necesitan compilar tanto en .NET Standard 2.0 (para proyectos heredados de .NET Framework 4.8) como en .NET 6.0 (para nuevos proyectos). Algunas de las dependencias de estos proyectos comunes deben referenciarse condicionalmente. Por ejemplo, el destino de .NET Standard 2.0 debe permanecer en Entity Framework Core 3.1, mientras que el destino de .NET 6.0 puede usar Entity Framework Core 6.0.

 <PropertyGroup> <TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks> </PropertyGroup> <ItemGroup> <PackageReference Include="morelinq" Version="3.3.2" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> </ItemGroup> <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' "> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.18" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="3.1.18" /> <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.18" /> <PackageReference Include="Microsoft.Extensions.Options.DataAnnotations" Version="3.1.18" /> </ItemGroup> <ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' "> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Options.DataAnnotations" Version="6.0.0" /> </ItemGroup>

Sin embargo, tengo problemas con la función "Administrar paquetes de NuGet..." de Visual Studio para actualizar paquetes, ya que no parece ser compatible con los marcos de trabajo de destino. Esto afecta a todas las versiones de Visual Studio, incluida la 2022:

Administrar paquetes NuGet

¿Existe una forma adecuada de manejar las actualizaciones de paquetes en proyectos de objetivos múltiples?

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

0

La mejor solución que he encontrado hasta ahora es usar una búsqueda y reemplazo en toda la solución para cambiar temporalmente <TargetFrameworks> en los archivos csproj a objetivos únicos al actualizar los paquetes de NuGet.

Por ejemplo, primero podría reemplazar todas las instancias de <TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks> por <TargetFrameworks>net6.0</TargetFrameworks> . Con ese cambio, cualquier referencia de paquete en los <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' "> se ignora, y la ventana "Administrar paquetes NuGet..." de Visual Studio le permitiría actualizar solo el Referencias de paquetes NuGet comunes y específicas de .NET 6.0. (Es posible que deba volver a cargar todos los proyectos después de la sustitución, por ejemplo, reiniciando Visual Studio).

A continuación, reemplazaría todas las apariciones a <TargetFrameworks>netstandard2.0</TargetFrameworks> y actualizaría las referencias del paquete NuGet específico de .NET Standard 2.0. Finalmente, realizaría otra búsqueda y reemplazo para volver a <TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks> .

Mantuve la forma plural de <TargetFrameworks> en todo momento para distinguirlo de los proyectos genuinamente de un solo objetivo que originalmente tenían <TargetFramework> . Es posible que desee utilizar otro medio para realizar un seguimiento de estos cambios temporales de buscar y reemplazar, como agregar un comentario <!-- revert --> .

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