No recomendaría agregar ValueTuple
como 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):
Lib
estaba incluyendo ValueTuple y Web
estaba usando Lib
. Resultó que por alguna razón desconocida Web
al intentar resolver la ruta ValueTuple
estaba teniendo HintPath
en el directorio .NET Framework y estaba tomando una versión incorrecta. Nuestra aplicación estaba fallando por eso. ValueTuple
no se definió en .csproj
de Web
ni HintPath
para 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 ValueTuple
al .csproj
archivo dentro del Web
proyecto.