No recomendaría agregar ValueTuplecomo referencia de paquete a los proyectos de .net Framework. Como saben, este ensamblaje está disponible en 4.7 .NET Framework.
Puede haber ciertas situaciones en las que su proyecto intentará incluir a toda costa ValueTuple carpeta .NET Framework en lugar de la carpeta del paquete y puede causar algunos errores de ensamblado que no se encuentran.
Tuvimos este problema hoy en compañía. Tuvimos una solución con 2 proyectos (simplifico demasiado):
Libestaba incluyendo ValueTuple y Webestaba usando Lib. Resultó que por alguna razón desconocida Webal intentar resolver la ruta ValueTupleestaba teniendo HintPathen el directorio .NET Framework y estaba tomando una versión incorrecta. Nuestra aplicación estaba fallando por eso. ValueTupleno se definió en .csprojde Webni HintPathpara que el montaje. El problema fue muy raro. Normalmente copiaría el ensamblado de la carpeta del paquete. Esta vez no fue normal.
Para mí siempre es un riesgo agregar System.*referencias de paquetes. A menudo son como una bomba de tiempo. Están bien al principio y pueden explotar en tu cara en el peor momento. Mi regla de oro: no use el System.*paquete Nuget para .NET Framework si no hay una necesidad real de ellos.
Resolvimos nuestro problema agregando manualmente ValueTupleal .csprojarchivo dentro del Webproyecto.